Create Hook
kobotoolbox.create_hook
ActionBusiness appsconnection required
Calls the KoboToolbox API with the connection's credentials.
Add a REST service so KoboToolbox posts every new submission on a form to a URL, which is how a Mantle webhook trigger receives them.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- KoboToolbox
- Secret shape
- the API token, or {"api_key": "…"}
- Config it needs
- base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
8 fields, 3 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
asset_uid The uid of the KoboToolbox form (asset) to act on, as it appears in its URL. | string | Yes | — | — | aSAvYreNzVEkrWg5Gdcvg |
name A name for the REST service, shown in the form's settings. | string | Yes | — | — | Mantle workflow trigger |
endpoint The URL KoboToolbox posts each new submission to. | string | Yes | — | url format | https://hooks.example.com/kobo |
export_type The format each submission is posted in. | string | No | json | one of "json", "xml" | — |
active Whether the service starts forwarding straight away. | boolean | No | true | — | — |
email_notification Email the form owner when a delivery to the endpoint fails. | boolean | No | false | — | — |
subset_fields Only forward these form fields; leave empty to forward all of them. | array | No | — | array of string | ["age","household_size"] |
payload_template A JSON wrapper around the %SUBMISSION% placeholder, for receivers that need the submission nested; JSON hooks only. | string | No | — | — | {"fields": %SUBMISSION%} |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"active": true,
"asset_uid": "aSAvYreNzVEkrWg5Gdcvg",
"email_notification": false,
"endpoint": "https://hooks.example.com/kobo",
"export_type": "json",
"name": "Mantle workflow trigger",
"payload_template": "{\"fields\": %SUBMISSION%}",
"subset_fields": [
"age",
"household_size"
]
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
uid The uid of the new REST service. | string | — |
name The service's name. | string | — |
endpoint The URL KoboToolbox will post to. | string | — |
active True while the service is forwarding. | boolean | — |
export_type The format submissions are posted in. | string | — |
success_count How many deliveries have succeeded. | number | — |
failed_count How many deliveries have failed. | number | — |
pending_count How many deliveries are still queued. | number | — |
logs_url Where this service's delivery logs can be read. | string | — |
{
"active": false,
"endpoint": "",
"export_type": "",
"failed_count": 0,
"logs_url": "",
"name": "",
"pending_count": 0,
"success_count": 0,
"uid": ""
}Related KoboToolbox nodes
See Create Hook run in a workflow.
In a technical demo we add the KoboToolbox connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.