> ## Documentation Index
> Fetch the complete documentation index at: https://docs.contactbutton.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Buttons, apps, and forms

> Use API v1 to create embeddable Contact Buttons, attach catalog apps, define reusable forms, and enable verified agent submissions with human OTP checks.

A **button** is the embeddable launcher, an **app** is one contact action inside it, and a **form** is a reusable structured input resource. They have independent UUIDs and lifecycle endpoints.

## Recommended sequence

1. Read the app catalog and its field schemas.
2. Create any reusable form or list.
3. Create an app and link it to the form or list.
4. Create a button with the app UUIDs in display order.
5. Place the returned script source on the website.

Existing script URLs and generated legacy slugs do not change. API v1 adds stable management IDs without changing runtime embed behavior.

## Agent-readable forms

Form fields use explicit `id`, `type`, `label`, `required`, and `options` properties. Agents should present the same labels and constraints to the user and collect only requested information.

When `AGENT_FORM_SUBMISSIONS_ENABLED=true`, a compatible published form advertises a `POST` submission-request action in the page manifest. The agent sends `human_email`, `answers`, `requested_by: "agent"`, and its identity context. Contact Button validates the answers against the live form and emails the human a one-time code. Only confirmation creates the lead and notifies the owner.

Captcha, attachment, and unsupported custom fields are deliberately browser-only and advertise `human_handoff`. Existing browser submissions, callbacks, and integrations are unchanged; the verified agent path is an additive lead channel with a separate rollback flag.

Sensitive app fields are write-only. App responses redact fields marked sensitive by the catalog definition.


## Related topics

- [Create a button and its ordered apps from a system template](/api-reference/buttons/create-a-button-and-its-ordered-apps-from-a-system-template.md)
- [Changelog](/changelog.md)
- [Contact Button for agents](/agents/overview.md)
- [MCP server](/agents/mcp.md)
- [Connect Telnyx](/guides/telnyx.md)
