Enable or update the forms relay for a site
set_forms_configConfigure the built-in form-to-email relay, fully self-service. Supports a custom From (via a verified sender domain or your own SMTP relay), an explicit Reply-To, and full email branding (subject template, field labels/order, logo, accent color, or a custom HTML body). Requires team role owner or admin. Pass config:null to switch the relay off. If you set a custom sender without an smtpRelay, the response returns the DNS records to publish; then call verify_forms_sender_domain. Submissions: POST JSON to the returned endpoint with Content-Type: application/json (UTF-8). Flat object of form fields (strings/numbers/booleans; checkbox groups may be arrays of strings, joined with ', '). Max 30 fields, 5000 chars/field, 20000 total. Response: {success:true,data:{ok:true}} or {success:false,error:{code,message}}. Rate limit: 10 submits per IP per 10 minutes. Include a hidden honeypot input (default "_gotcha") and leave it empty.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Full config to store (replaces existing). Pass null to disable and clear. | |
| siteName | Yes | The site to configure. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | ||
| enabled | Yes | ||
| delivery | Yes | platform | verified-domain | verified-domain-pending | custom-relay. | |
| endpoint | Yes | URL the site's form should POST to. | |
| siteName | Yes | ||
| request_id | No | Server-assigned request correlation id. Quote it when contacting support. | |
| formsConfig | Yes | Stored config (smtpRelay.password redacted to hasPassword). | |
| activeSender | Yes | The From that will actually be used right now. | |
| senderDomain | No | DNS records to publish + verification status (verified-domain path). |