Dashform

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.

POST
/organizations/{organizationRef}/forms/{formRef}/destinations

Authorization

headerx-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.

Path Parameters

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.

Request Body

application/json
  1. body
destination*

The Destination to create.

validateOnly?boolean

Run every check the request would run and stop before persisting anything. The response describes the outcome the request would have had.

Defaultfalse

Response Body

OK

application/json
  1. 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*string

Output only. Display label of the Connection's account; empty without a Connection.

createTime*string

When the integration was created.

Formatdate-time
creator*string

The User who created the integration.

Match^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*integer

Consecutive failed Deliveries since the last success or resume.

Range0 <= value <= 9007199254740991
lastFailTime*|

When a Delivery last failed; null if none has.

lastSyncTime*|

When a Delivery last succeeded; null if none has.

path*string

Canonical integration path in the form organizations/{organization_id}/forms/{form_id}/integrations/{integration_id}.

Match^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*string

Why the integration is not active: missing, drifted or unavailable when its own faults paused it, user_paused when its maker did; empty while active.

Value in"""missing""drifted""unavailable""user_paused"
provider*string

The provider a Connection authorizes.

Value in"google-sheets""airtable""notion""slack""hubspot""mailchimp""mailerlite""discord""webhook""email""zapier"
state*string

Lifecycle state: only an active integration delivers, and a paused one holds its Deliveries until it resumes.

Value in"active""paused"
targetUri*string

Output 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*string

When the integration was last updated.

Formatdate-time
Example Request
curl -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    }  }}'
Example Response
{  "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"}