Connect TimeTonic to external services
The Incoming Webhook trigger lets you start an automation in TimeTonic when an external service (such as n8n, Make, Zapier, or a custom script) sends an HTTP request to a dedicated URL.
⬇️ Essential to enable use cases such as:
-
Automatically create a row in TimeTonic from a form filled out on an external website.
-
Receive data from a third-party app (CRM, prospecting tool, etc.) and centralize it in a TimeTonic table.
-
Update an existing row in TimeTonic when a status changes in another system.
-
Trigger a TimeTonic automation every time an event occurs in another platform (e.g., new sale, new contact, new ticket, …).
-
Partially synchronize data between a business tool and TimeTonic (e.g., only send certain useful information to a specific team).
➡️ Webhook behavior — introduction
When a call is made to the Webhook URL generated by TimeTonic, the automation is triggered automatically.
The content of the call (in JSON format) can be used as variables in the configurations below, enabling three different behaviors to manage rows in the table.
➡️ “Webhook trigger” configuration window
|
|
1️⃣ Webhook password
When you configure an inbound webhook in TimeTonic, you can choose to secure calls with a custom password.
If a password is set, only calls containing the correct signature will be accepted.
Otherwise, all calls will be authorized without verification.
🔓 Method without authentication
This method allows you to call a TimeTonic webhook without setting a password. No authentication is required.
📥 Open Webhook Call (No Password)
If no password is set on the TimeTonic webhook, the HTTP request can be sent freely without any additional header.
Configuration on caller side:
| 🔧 Parameter | ✅ Value |
|---|---|
| Method | POST |
| Target URL | https://automationsv2.timetonic.com/api/automation/trigger/XXXXXXXXX |
| Authentication | None |
✅ This configuration works as long as no password is defined on the TimeTonic webhook trigger.
🔐 Password-based method (custom authentication)
This method allows you to secure a webhook call using a password set in TimeTonic.
🔐 Secure Webhook Call with Password
When a password is defined in the TimeTonic webhook, the HTTP request must include a SHA-256 hash of the body content concatenated with the password, inserted in the X-PayloadSeal header.
Must contain at least 8 characters, including a digit, a lowercase, an uppercase, and no space.
Configuration on caller side:
| 🔧 Parameter | ✅ Value |
|---|---|
| Method | POST |
| Target URL | https://automationsv2.timetonic.com/api/automation/trigger/XXXXXXXXX |
| Password Encoding | SHA-256 of {body} + passwordInserted in header X-PayloadSeal
|
| Request Header | { "X-PayloadSeal": "your_hash_here" } |
| Request Body | { "id": "123" } |
Example hash calculation: SHA256('{ "id": "123" }TTisbeautiful3+') ⇒1615f4baef74d03b8447c378a309fb2ff03ec7b57595753b111b55d7c3a79d19
2️⃣ Data structure
The data structure lets you extract elements from the JSON received via the webhook and turn them into local variables that you can use in your TimeTonic automation actions.
GoalDefine which elements of the JSON should be extracted and under what name they will be referenced in TimeTonic. In the structure fields:
Or in JSON in the editor: {
"key1": "value1",
"key2": "value2"
}
✅ Result: TimeTonic will read the JSON content and automatically create the variables “key1” and “key2”… |
4️⃣ Row identification
Choose from the 3 options below in the last step of your configuration window to define how TimeTonic should handle rows when a call is received:
-
➡️ Unique row creation: creates a new row.
-
➡️ Identify via the row ID: searches for a row by its TimeTonic ID.
-
➡️ Identify via a field value: compares the received variable to the table field.
➡️ Unique row creation
Use when:
Each webhook call should generate a distinct row, with no prior existence check.
Ideal for submission, logging, or continuous recording systems.
➡️ Configuration in the external tool:Leave empty if you only want to trigger the webhook to then run a writing/creation action in your scenario… Or, if you want to pass parameters in your webhook call: → Insert in the body the properties carrying the information coming from your tool Example parameters:
|
➡️ Configuration in TimeTonic:
Note: After the incoming webhook trigger - row creation (and possibly control blocks), the action to write to the created row can be Row Creation or Write to a field. The imported value from the webhook (here in the local variable "age") is found at the bottom of the drop-down list. |
➡️ Identify a row by its ID
Use when:
You have the row’s unique ID to update. This mode targets that row precisely.
Useful when you’ve already retrieved the ID in a previous step or from another system.
|
➡️ In the external tool: Pass parameters in your webhook call: → Insert in the body the properties carrying the information coming from your tool Parameters:
|
||||||||||||||
➡️ Configuration in TimeTonic:
Note: After the incoming webhook trigger - identify a row via its ID (and possibly control blocks) the action to write to the identified row is Write to a field. The imported value from the webhook (here in the local variable "age") is found at the bottom of the drop-down list.
|
➡️ Identification via a field value
Use when:
You want to update a row based on a unique field (e.g., email, customer code…).
The webhook compares the received value to a field in the table to determine whether it should update the matching row defined in your scenario action.
If no match: the action fails.
|
➡️ In the external tool: Pass parameters in your webhook call: → Insert in the body the properties carrying the information coming from your tool Example parameters:
You can insert additional pairs for the fields to update. |
➡️ Configuration in TimeTonic:Tick ☑️ Identify via a field value
“TimeTonic will retrieve from the data sent the value of the field designated as the identification field and will attempt to find the first row whose associated TimeTonic field matches.”
Note: After the incoming webhook trigger - identify a row via its ID (and possibly control blocks) the action to write to the identified row is Write to a field. The imported value from the webhook (here in the local variable "age") is found at the bottom of the drop-down list. |
➡️ Generating the Webhook URL
- Validate the incoming webhook settings
- Create one or more actions (see 🔗 See related articles)
- Add a title to your automation
- Click the Create button
- Re-open your incoming webhook trigger (your URL is generated—you can copy it to paste into your external services).
Continue editing your conditions and actions in this automation scenario.