Webhooks are the link between actions in the front-end of the platform and workflow in the back-end of the application
- Identify options for Webhooks
- Learn to create and maintain webhooks
- Learn to troubleshoot issues and track jobs
The most common use of a Webhook is to call a workflow process (Tree) when a Submission is created. However, that is just one of the uses for Webhooks.
Webhooks have a number of Types and Events that cause them to fire.
In a Kapp, a Webhook can fire based on Events from both Forms and Submissions.
|Submitted (most common)|
In a Space, a Webhookcan fire based on Events from Datastore Forms, Datastore Submission, Discussion, Team, and User.
Datastore Form and Datastore Submissions are nearly the same as in a Kapp.
Here are the other Event Options:
|Discussion Created||Created||Login||Login Failed|
Every Webhook is comprised of the same parts
A descriptive name used for Reference.
See the tables above for options.
For example, here is the condition for the Submission Submitted - Custom Form Webhook:
form('attribute:Custom Submission Workflow').indexOf('Submitted') > -1
Location and callback definition of the application being called. In kinops it references a task tree using the API.
There are three tabs available for looking at Webhook jobs. Each one has a different purpose.
As you can guess from the name, this is every Webhook job starting from the most recent. You can click on the Name (Webhook name) to see the Webhook, or click on the Summary (HTTP Status Codes) to see the specifics of the job.
Again, the name is descriptive of the intent of the console. This tab shows any failures, along with any response returned.
Example Failure (URL was edited to be incorret):
See the Error under the Summary, and the explanation in the Response Content field.
Retrying a Webhook Job that has failed will put it on the Pending queue. You can make some adjustments to the data to help your troubleshooting.
We'll move to the workflow process and look at Loops in Task Trees.
The Cleaning Request created in the previous classes is OK, but now we need to improve the User Experience and Workflow.