Webhooks allow you to let other applications communicate directly with a specific item within Rindle.
Rindle supports Incoming Webhooks for:
Boards
Tasks
Lists
Users
The following example is based on a Rule that applies to Boards.
Incoming Webhooks for Boards
In order to set up an incoming webhook for a board, create a new automation Rule that applies to “Boards”.
Select the “Incoming webhook for boards” trigger.
When configuring an Incoming webhook for a board you can select a Type of webhook, we support all common HTTP request methods for types. Unlike traditional HTTP we currently do allow a body payload for all request methods.
The final thing which needs to be done in order to submit this webhook is to decide which board you’re going to submit it to. We allow you to submit to a board by its Reference ID or its Component ID.
You can access these ID’s through the URL of whatever board you want to submit the webhook to:
For this board: 3637 is the component ID and 3829 is the reference ID.
To submit using the component, append `?component=3637 to the webhook URL, to submit using the reference ID append `?reference=2829.
We suggest using the component ID unless you’re doing a reference specific action, such as archive.
You can optionally create a passphrase as well, if you decide to create a passphrase you must submit it as a query string parameter, for example, if my passphrase is “secret” I’d append ?passphrase=secret to the end of the above webhook URL.
Webhook Variables
Webhook actions support payloads which you can use within actions as variables. We can currently parse out JSON payloads automatically. This means that if you submit a webhook that has the “Content-Type” specified as “application/json” we will automatically parse out that content and make those variables available to you.
We make those variables available with the prefix “payload.”
To make this easier, you can submit a test webhook and view the submitted payload in the “Logs” section of the automation.
In the above example, the following variables are available:
{payload.__body__}
This will insert the entire body JSON of the payload into whatever field you want. This is useful for debugging purposes.
{payload.task_title}
{payload.description}
{payload.hours}
There are times when the payload returns an array. This is an example payload from a web form submission:
{
"form_response": {
"answers": [
{
"type": "text",
"text": "Brian Faust",
"field": {
"id": "zXrneQECchcw",
"type": "short_text",
"ref": "8dca534b6a5b5fe8"
}
},
{
"type": "choice",
"choice": {
"label": "Design"
},
"field": {
"id": "6LmgRWlQCGtq",
"type": "multiple_choice",
"ref": "97f1e7788d3547ea"
}
}
}
The following variable would be used for the first answer:
{payload.form_response.answers.0.text}
The following variable would be used for the second answer:
{payload.form_response.answers.1.choice.label}
Implementation Example
You can use webhook variables wherever automation variables are supported. Use variable syntax above to pass the data that was received from the incoming webhook.
Here's an example of how the above variables could be used when creating a new task with an automation: