Для AI-агентов: markdown этой страницы — /docs/mcp-tool-site-form-declare.mdиндекс документации — /llms.txt
site_form_declare
Обновлено
Declare a form the business's web pages submit to, and get the address they post to. DO THIS BEFORE BUILDING THE PAGES: the call returns `clientSlug` and `code`, the pages POST to `https://fn.telegafirst.ru/f/\{clientSlug\}/\{code\}\` (`fn.telegafirst.com` when `zone` is `com`). That URL cannot exist before this call. It also returns `seqNum`: pass it back to UPDATE this declaration — `clientSlug` + `code` stay the same, so re-running setup never breaks live pages. Omit `seqNum` to create a NEW form with a NEW address. It configures the ENVELOPE (delivery, allowed submitter origins, captcha), NOT the form's fields: draw any inputs in your HTML, stored exactly as submitted. `destinations` lists delivery targets, one of: `{"kind":"telegram","topicId":<topic id>}`, `{"kind":"webhook","url":"https://…"}`, or `{"kind":"external_api","url":"https://…","method":"POST","headerName":"X-Api-Key","secretName":"<name from secret_put>"}` — never a literal credential, only the NAME of a stored secret. `allowedOrigins` must list the site's own addresses (`https://acme.ru\`), or no submission is accepted. To stop accepting submissions, re-declare with `enabled: false` — never delete (collected answers would lose the config that explains them). AFTER A SUBMISSION the `variants` ladder runs: each names a prepared funnel step by `stepSeqNum` plus a condition — `when` for `funnelMode: "deterministic"` (first match by `sort` order wins) or `hint` (plain language) for `funnelMode: "ai_agent"`; exactly one per entry. `defaultStepSeqNum` is used when nothing matches. `callOperatorOnSubmit: true` (or an entry's `callsOperator: true`) calls a live operator. ⚠️ The ladder is DECLARED, not patched: omitting `variants` on a re-declaration REMOVES it — always send the complete list. `submissionSchema` is OPTIONAL, e.g. `[{"name":"phone","type":"tel","required":true}]`; omit it and any fields are accepted. Pass it only to validate: a non-matching submission is refused, naming the wrong field; names must match your HTML inputs.
Права и условия
required_scopes: ALL.
| Поле | Значение |
|---|---|
| description | "Declare a form the business's web pages submit to, and get the address they post to. DO THIS BEFORE BUILDING THE PAGES: the call returns `clientSlug` and `code`, the pages POST to `https://fn.telegafirst.ru/f/\{clientSlug\}/\{code\}\` (`fn.telegafirst.com` when `zone` is `com`). That URL cannot exist before this call. It also returns `seqNum`: pass it back to UPDATE this declaration — `clientSlug` + `code` stay the same, so re-running setup never breaks live pages. Omit `seqNum` to create a NEW form with a NEW address. It configures the ENVELOPE (delivery, allowed submitter origins, captcha), NOT the form's fields: draw any inputs in your HTML, stored exactly as submitted. `destinations` lists delivery targets, one of: `{\"kind\":\"telegram\",\"topicId\":<topic id>}`, `{\"kind\":\"webhook\",\"url\":\"https://…\"}`, or `{\"kind\":\"external_api\",\"url\":\"https://…\",\"method\":\"POST\",\"headerName\":\"X-Api-Key\",\"secretName\":\"<name from secret_put>\"}` — never a literal credential, only the NAME of a stored secret. `allowedOrigins` must list the site's own addresses (`https://acme.ru\`), or no submission is accepted. To stop accepting submissions, re-declare with `enabled: false` — never delete (collected answers would lose the config that explains them). AFTER A SUBMISSION the `variants` ladder runs: each names a prepared funnel step by `stepSeqNum` plus a condition — `when` for `funnelMode: \"deterministic\"` (first match by `sort` order wins) or `hint` (plain language) for `funnelMode: \"ai_agent\"`; exactly one per entry. `defaultStepSeqNum` is used when nothing matches. `callOperatorOnSubmit: true` (or an entry's `callsOperator: true`) calls a live operator. ⚠️ The ladder is DECLARED, not patched: omitting `variants` on a re-declaration REMOVES it — always send the complete list. `submissionSchema` is OPTIONAL, e.g. `[{\"name\":\"phone\",\"type\":\"tel\",\"required\":true}]`; omit it and any fields are accepted. Pass it only to validate: a non-matching submission is refused, naming the wrong field; names must match your HTML inputs." |
| domain | "site" |
| name | "site_form_declare" |
| platform_version | "1.0.20" |
| required_scopes | ["site:write"] |
| risk | "write" |
| scope | "site:write" |
| title | "Site Form Declare" |
Входные параметры
site_form_declare: inputSchema
Результат
null