Web Hooks
CheckFlow uses webhooks to let you know when events happen, such as when a task is completed. When the event occurs, CheckFlow makes an HTTP POST request to the target URL you entered when you configured the webhook subscription. CheckFlow's request will include details of the event such as the task completed in JSON format.
We currently have three webhooks you can subscribe to:
- new_checklist - Message will be sent whenever a new checklist is created for a specific template.
- task_completed - Message will be sent whenever a task is completed. You can scope this to a specific task, to any task in a specific template, or to any task completion across your whole team.
- file_uploaded - Message will be sent whenever a file is uploaded using a specific file upload control.
How To Subscribe To Our Webhooks
You can use our API to manage your webhook subscriptions.
To access our API you will need to generate an API Key.
You will then be able to use our API user interface to perform actions such as creating a webhook subscription.
Our API user interface is located here: https://app.checkflow.io/swagger
The webhook section of our API contains three actions, as shown below:

The most complicated part is creating the subscription correctly. Here are the parameters:
- source - This should be an identifier for the target. It is only used for audit purposes.
- eventType - This should be one of the webhook event types mentioned previously: new_checklist, task_completed or file_uploaded.
- targetUrl - The URL that the webhook will post the JSON to when the event occurs.
- templateKey - Required for
new_checklist. Also accepted fortask_completedto scope the subscription to any task completion in checklists created from that template. - taskKey - Optional for
task_completedto scope the subscription to a single specific task. - taskContentKey - Only required for webhook events of type 'file_uploaded'. This is the task content key for the file upload control you're interested in.
task_completed scope
The task_completed event supports three levels of scope:
| Scope | Parameter to supply | Fires when… |
|---|---|---|
| Task-specific | taskKey | That specific task is completed |
| Template-scoped | templateKey | Any task is completed in any checklist from that template |
| Team-wide | (neither key) | Any task is completed anywhere in your team |
PLEASE NOTE
To find the templateKey you can use: /api/template/templates
To find the taskKey you can use: /api/template/tasks
To find the taskContentKey you can use: /api/template/task-content