Integrations
Send a webhook or call an API from an automation.
Last updated on
These steps are in the Integrations group. A failed delivery continues via Failed. For other actions, read When a step fails.
Send webhook
Delivers a message of your own to one of your organisation's webhook endpoints. That is useful for informing another system, for example your till system or your website.
| Field | What you enter |
|---|---|
| Endpoint | Choose one of your webhook endpoints. You recognise them by their address. Required |
| Event name | The name sent along in the message so the recipient can recognise it, for example automation.invoice_unpaid. Required |
| Payload | The content of the message, as JSON. Variables are filled in before the message is sent. Required |
You create and manage endpoints via the profile menu under Developers. The endpoint must exist and be enabled. If it is not, the step fails and the run stops.
The message is signed with the endpoint's own key, exactly like the other webhooks the endpoint receives. Tillor tries again a few times if your server does not answer properly. The endpoint does not have to follow the name of your event: the message arrives either way.
The step has two outputs:
| Output | When |
|---|---|
| Succeeded | Your server answered with a successful status |
| Failed | The delivery failed after all attempts. The message is then retried in the background, just like an ordinary webhook |
The template Push reservations to another system uses Failed to create a task so that someone picks it up.
A payload looks like this, for example:
{
"reservation": "{reservation.displayId}",
"checkIn": "{reservation.checkIn}",
"adults": {reservation.numberOfAdults},
"customer": {
"firstName": "{reservation.customer.firstName}",
"email": "{reservation.customer.email}"
}
}Put text between quotation marks and numbers without. Dates are passed in JSON as an international date and time, such as 2026-10-05T08:00:00.000Z. Read Variables and templates for the details. The technical side, such as the structure of the message, is at Developers > Automations.
API request
Calls the Tillor API of your own organisation, or another address on the internet. With this you can do almost anything Tillor can do, and look up data to then do something with it.
Under Send to you choose between Tillor API and Custom URL. Under Method you choose GET (retrieve), POST (create), PUT or PATCH (change) or DELETE (remove).
Tillor API
| Field | What you enter |
|---|---|
| Path | The part of the address after your organisation's API, for example /tasks or /tasks/{task.id}. It must start with /. Required |
| Body | The data you send along, as JSON. Leave empty if you send nothing |
At the top of the field is Pick an API endpoint. Click it and search the list, for example tasks. When you pick an endpoint, Tillor fills in the method and the path. If the Body is still empty, you also get an example of what the endpoint expects. Replace the names between braces in the path with variables from earlier steps. If there are query parameters, you see that under the field.
The call is made as the Workflow user and can never reach outside your own organisation. An automation cannot manage automations, so calls that touch automations or their runs are refused.
Custom URL
| Field | What you enter |
|---|---|
| URL | The address. It must start with https://. Required |
| Headers | Extra data for the recipient, for example a key. Click Add header and fill in the Name and the Value |
| Body | The data you send along, as JSON. Leave empty if you send nothing |
These rules apply:
- Addresses without
https://are refused - Private and internal addresses are refused, even if an ordinary name points to them
- Redirects are not followed. If the server answers with a redirect, that counts as Failed
- Headers are stored encrypted. So you can put a key or token in them
- With GET and DELETE no body is sent
Outputs and response
The request has two outputs: Succeeded (the server answered with a successful status) and Failed (the server answered with an error status). If Tillor does not reach the server at all, for example because of a timeout after 15 seconds or a refused address, the run stops with the status Failed.
There are three variables for later steps:
| Variable | Content |
|---|---|
{response.status} | The status code, for example 200 |
{response.body} | The response as text, shortened to the first 4000 characters |
{response.data} | The response as data, so you can pick fields from it with {response.data.items.0.id} |
How to use that is at Using an API response. A complete example with a search request is at Holiday caravan check.