In Kizeo Forms, Webhooks facilitate immediate integration with various systems and services using APIs.
Rather than consistently checking APIs for changes, Webhooks offer instant alerts for specific event occurrences, inclusive of the detailed data involved.
Utilising Webhooks substantially boosts integration effectiveness and agility, simplifying the automation of processes and enabling access to real-time data.
What do we receive with the Webhook?
1. The data header
"id": "171216479",
"eventType": "finished",
-
id: A unique identifier assigned to the data.
-
eventType: The action that initiated the Webhook transmission, categorised into five types:
- finished: Pertains to the saving of data.
- update: Involves the modification or alteration of data.
- push: Refers to the transfer or transmission of data.
- pull: Involves retrieving data on the recipient's mobile device.
- delete: Relates to the removal or erasure of data on the web interface.
2. Data Key
In the data key, you first have information related to the data event.
"data": {
"recipient_user_id": null,
"answer_time": "2023-09-18T17:17:39+02:00",
"update_answer_time": "2023-09-18T17:17:39+02:00",
"id_tel": "0e7cf0a8-46bc-4246-a7ec-bbfd552cfa91",
"media": [
"c55318f923838pu319057_20230918171436_7a49b140.jpg",
"c55318f923838pu319057_20230918171617_5f3a8c56-85ff.jpg",
"c55318f923838su319057_20230918171701_b8518e6a.png"
],
"form_id": "923838",
"origin": "android",
"app_version": "7.19.198",
- recipient_user_id: Recipient's Id for a transfer or a Push. It returns a null value if no data is transferred or sent.
- answer_time: Timestamp of the initial data entry.
- update_answer_time: Timestamp of the most recent data update.
- id_tel: Unique identifier assigned upon the installation of the Kizeo Forms application on a mobile device. This identifier will change if the application is uninstalled and then reinstalled.
- media: Compilation of media included within the data.
- form_id: Distinct identifier assigned to each form.
- origin: Specifies the device used for the operation:
- web: Entered via web.
- android: Operation performed on an Android mobile device.
- ios: Operation performed on an iOS mobile device.
- app_version: Version of the utilised application.
Configure the Sending of Webhooks
Setting up Webhooks involves two steps: initial configuration and then establishing the conditions for sending.
The Setup
In this phase, the following elements need to be specified:
- Method: Choose the method such as GET, POST, DELETE, PATCH, PUT.
- Address: Specify the URL where the Webhook should be sent.
- Header: Include the various keys for your header.
After entering the necessary information, proceed by clicking [Next] to access the menu where you can determine the conditions for sending the Webhook.
Sending Conditions
A Webhook can be triggered under five distinct data states: transfer, push reception, recording, modification, and deletion. Multiple states can be selected concurrently.
Transfer
A webhook will be triggered when data is transferred to a user.
Triggering scenarios include:
- Transferring from one user to another using the application or Web Interface
- Initiating an API Push
- Executing an Automatic Push
Non-triggering scenarios include:
- Executing an Excel Push
- Performing an Automatic Transfer
Reception (Push)
A webhook will be triggered when a user's mobile receives data, whether it is transferred or pushed.
Recording
A webhook will be activated when data is registered or recorded.
Modification
A webhook will be initiated when any modifications are made to the data.
Deletion
A webhook will be released when any data is removed or deleted.
Note:
Data removed from the mobile application will not be deleted from the server; hence, no corresponding action will be triggered
Advanced Sending Conditions to Activate Webhooks
Access the advanced sending conditions by clicking on the [Add a condition] button.
1.Filter Types
In the "Filter Type," you can choose between "Simple Filter," "Dynamic Date Filter," and "Configured Filter." Let's look at what these three categories correspond to.
Important
When entering an advanced sending condition, it's important to validate it by clicking on the blue checkmark at the end of the line.
1.1. Simple Filters
In the simple filters, you will find two sections. The first one corresponds to the standard filters available for all forms. The second one lists the available form fields.
1.1.1 Standard Values
-
User: This allows access to all profiles within your account, such as inactive, User, Group Manager, and Administrator.
-
Status: Here, you can choose the data status like sent, retrieved, or completed.
-
Form Response Date: This corresponds to either the Registration Date or Modification Date that is available in the History menu.
-
Unique Identifier: An integer value should be specified here. The unique identifier of data can be found in the ID column within the History menu.
-
Custom User Fields: Following these, a list appears containing the names of any existing custom user fields.
1.1.2 Form Fields
In this section, you will find the list of fields available for your form.
Fields that can be conditioned✅ | Fields that cannot be conditioned❌ |
---|---|
Input field | Geolocation |
Text box | Contact |
Date and time | Address |
Checkbox | Photo |
Slider | Audio |
Counter | Sketch |
List | Attached file |
Choice | Separator |
Reference | Fixed text |
Signature | Fixed image |
Barcode/QR code | Fixed file |
NFC | Table |
Calculation | Fields within a table |
1.2. Dynamic Date Filter
This filter enables the Webhook to be sent conditionally, based on a specific date and time.
1.3. Custom Filter
This option allows the conditional sending of the Webhook, based on the value entered in a particular field.
1.3.1. Standard settings
- User: You will have access to all profiles of your account (inactive, User, Group Leader and Administrator).
- Status: You can select the status of the data (submitted, retrieved, completed).
- Form Response Date: Corresponds to the Registration Date or Modification Date found in the History menu.
- Unique Identifier: You must enter a whole number. You can find the unique identifier of a data in the ID column of the History menu.
The list of names of your custom user field, if you have one, is then displayed.
1.3.2. Form fields
In this section, you will find the list of fields available in your form.
Fields that can be conditioned✅ | Fields that cannot be conditioned❌ |
---|---|
Input field | Geolocation |
Text box | Contact |
Date and time | Address |
Checkbox | Photo |
Slider | Audio |
Counter | Sketch |
List | Attached file |
Choice | Separator |
Reference | Fixed text |
Signature | Fixed image |
Barcode/QR code | Fixed file |
NFC | Table |
Calculation | Fields within a table |
2. Operators
There are 12 operators, 2 of which are specific to the Signature Field.
Operators | Designation | Operators | Designation | |
---|---|---|---|---|
= | Equal to | Contains | Searches for the presence of a specific character string within a data item. | |
≠ | Not equal to | Does not contain | Checks for the absence of a specific character string within a data item | |
< | Lesser than | Between | Part of a list of items. | |
≤ | Lesser than or equal to | Except | Not part of a list of items | |
> | Greater than | Signed | The signature field is filled in | |
≥ | Greater than or equal to | Unsigned | Signature field is not filled in |
Important
Depending on the filter you select, some operators may not be available. For example, in the case of the checkbox, only equal and not equal to are available.
3. Values
The available values are adapted according to the selected filter and operator.
For example, if you select between or except , you will have the possibility to make a multiple entry in the values.