Create a Destination
Creates a Destination on the Form, such as the one Zapier creates when a Zap turns on. Only the `zapier:send-reply` kind is accepted, and only for an Organization whose plan includes Zapier. From then on each Completed Reply of the Form is POSTed to the Destination's URL as a Delivery, with retries, pauses, and replay. The server assigns the Destination's path; a URL that answers 410 pauses the Destination. Set validateOnly to check the request, the plan included, without creating anything.
x-api-key<token>A Dashform API key, sent in the x-api-key header. Keys are created in the dashboard and act as the user who owns them.
organizationRef*||The Organization that owns the Form, addressed by its canonical id or by its slug. Responses always carry the canonical id.
formRef*||The Form whose Completed Replies the Destination receives, addressed by its canonical id or by its public id. Responses always carry the canonical id.
application/json- body
destination*The Destination to create.
validateOnly?booleanRun every check the request would run and stop before persisting anything. The response describes the outcome the request would have had.
falseOK
application/json- response
A Form's delivery of Completed Replies through a Connection.
actionConfig*What the integration does on each Completed Reply: its Connector Action's kind and that action's settings, which the Connector catalog validates.
condition*array<array<>>|Answer-based routing: the Reply must match one group, all of whose conditions hold. Null delivers every Completed Reply.
connection*|The Connection the integration delivers through; null for a Connector that authenticates with nothing, such as email.
connectionAccountLabel*stringOutput only. Display label of the Connection's account; empty without a Connection.
createTime*stringWhen the integration was created.
date-timecreator*stringThe User who created the integration.
^users\/([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$failureCount*integerConsecutive failed Deliveries since the last success or resume.
0 <= value <= 9007199254740991lastFailTime*|When a Delivery last failed; null if none has.
lastSyncTime*|When a Delivery last succeeded; null if none has.
path*stringCanonical integration path in the form organizations/{organization_id}/forms/{form_id}/integrations/{integration_id}.
^organizations\/([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)\/forms\/([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)\/integrations\/([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$pausedReason*stringWhy the integration is not active: missing, drifted or unavailable when its own faults paused it, user_paused when its maker did; empty while active.
"""missing""drifted""unavailable""user_paused"provider*stringThe provider a Connection authorizes.
"google-sheets""airtable""notion""slack""hubspot""mailchimp""mailerlite""discord""webhook""email""zapier"state*stringLifecycle state: only an active integration delivers, and a paused one holds its Deliveries until it resumes.
"active""paused"targetUri*stringOutput only. Address of what the integration writes to, such as a spreadsheet; empty when its Connector Action declares none or its settings no longer fit.
updateTime*stringWhen the integration was last updated.
date-timecurl -X POST 'https://getaiform.com/api/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/forms/497f6eca-6276-4993-bfeb-53cbbbba6f08/destinations' \ -H 'Content-Type: application/json' \ -d '{ "destination": { "actionConfig": { "kind": "zapier:send-reply", "targetUrl": "string", "property1": null, "property2": null } }}'{ "actionConfig": { "kind": "string", "property1": null, "property2": null }, "condition": [ [ { "negate": true, "operator": "equals", "stepKey": "string", "value": "string" } ] ], "connection": "string", "connectionAccountLabel": "string", "createTime": "2019-08-24T14:15:22Z", "creator": "string", "failureCount": 0, "lastFailTime": "2019-08-24T14:15:22Z", "lastSyncTime": "2019-08-24T14:15:22Z", "path": "string", "pausedReason": "", "provider": "google-sheets", "state": "active", "targetUri": "string", "updateTime": "2019-08-24T14:15:22Z"}Submit a Reply POST
Submits a Completed Reply to the live Form Revision of a published Form without a credential, and answers with the stored Reply. Address the Form as the Form Revision read does. The answers are validated against the Form exactly as the Form's own page validates them. The Reply is recorded as filled by an agent, and its Ending is the one the Form's Branches resolve from the answers. Completing it fires the Form's integrations.
Delete a Destination DELETE
Deletes the Destination, as Zapier does when a Zap turns off. The response is empty, and later Completed Replies plan no Delivery for it. Set validateOnly to check the request without deleting anything.