Contact Button / Agents

Built for people and their agents

Turn a conversation into a contact experience.

Let a coding agent create, configure, and publish your buttons and pages. Let every other agent discover the same contact details, knowledge, and safe actions that a person sees.

One setupManage workspaces, Pages, buttons, forms, and apps through one stable API.
Two audiencesSemantic HTML for people; Markdown and structured manifests for agents.
Safe actionsBookings, subscriptions, forms, and callbacks can require human confirmation.
Your identityPublish at button.contact/name or connect a domain you control.

From intent to live

The agent does the setup. You stay in control.

A human describes the outcome. The agent reads the current contract, proposes a change, uses stable resource IDs, and verifies every public representation after publishing.

1

Describe

“Build a contact page for my consultancy with a booking form, newsletter signup, and callback request.”

2

Review

Your agent asks only for missing decisions, previews material changes, and pauses before publishing, spending, or changing DNS.

3

Publish

The result is readable as HTML, Markdown, JSON, and—when enabled—through MCP and Google A2A-compatible interfaces.

A first prompt

Start in your coding agent.

Use this with Codex, Claude Code, or another tool-capable agent. It points the agent to the live, machine-readable instructions instead of relying on remembered product behavior.

Set up Contact Button for me using the official instructions at:
https://agents.contactbutton.com/.well-known/agent-skills/contact-button/SKILL.md

First inspect my current Contact Button workspace and make a plan.
Read before writing, keep stable resource IDs, and use idempotency keys.
Ask before publishing, buying a phone number, changing DNS, or taking
another paid or externally visible action. Never ask me to paste secrets
into chat; tell me which secret names to add through a secure channel.
After publishing, verify the HTML, Markdown, manifest, and agent metadata.

One contact layer

Useful to a visitor. Legible to an agent.

Every product surface is moving toward the same rule: if a person can understand or do it, an authorized agent should have a documented, structured path too.

Available

Pages and domains

Publish link-in-bio and contact pages on button.contact or a verified custom domain.

Available

Buttons, apps, and forms

Create reusable contact experiences and expose their intent and fields without parsing opaque JavaScript.

Available

Booking

Advertise availability, hold a slot, and confirm the represented human before a booking becomes final.

Rolling out

Subscriptions and callbacks

Request a newsletter signup or return call from a voice or LLM agent with consent recorded.

Rolling out

Human + agent chat

Use guided answer pills, agent-to-agent messages, and an explicit path to a human when needed.

Rolling out

Knowledge

Publish cited articles and sync approved sources from feeds, Markdown, GitHub, and document providers.

Phone and SMS infrastructure

Telnyx is needed for phone features—not everything else.

Pages, buttons, forms, bookings, newsletters, callback-request capture, and knowledge do not require a Telnyx account. To add click-to-call, automated callback bridges, voice messages, call forwarding, or Telnyx SMS, connect your own Telnyx account once per workspace.

  • A funded Telnyx account with any required identity or regulatory verification
  • A Telnyx API V2 key, stored as a secret and never placed in agent context
  • The account’s Ed25519 public key so Contact Button can verify webhooks
  • Explicit human approval before an agent searches for or purchases a number

No guessing required

Discovery starts at predictable URLs.

This site is server-rendered, keyboard accessible, and useful without JavaScript. Agents can enter through a standard index, a skill, the OpenAPI contract, or a public profile manifest.

  • /llms.txtA short routing index for language models.
  • /agents.mdOperating rules, workflows, and product boundaries.
  • /.well-known/api-catalogThe REST contract and protocol entry points.
  • /.well-known/agent-skills/…Portable setup instructions for coding agents.
  • /mcp.jsonShared MCP server metadata and authentication path.
  • button.contact/name/manifest.jsonActions and public representations for one published page.