All topics
Get started8Account, team & permissions44Units & fields70Records, views & tasks39WhatsApp & Cortex Chat68Email & social27Lead ads & distribution38Automations52Documents & quotes32Dashboards40Cortex AI18Developers & API12
Help Center·448 guidesAll topicsContact support

Start an automation when another app sends data (webhook)

Every automation with this trigger has its own link. Your website or any tool sends data to it, and the automation finds the matching record or creates one, fills in its fields, then carries on with its steps.

8 min
Before you start · for owners and managers
Permission to edit workflows
  • You need: Permission to edit workflows

Steps

1
Choose the trigger Another app sends data.
Once you create it, the automation gets its own address.
2
Under Your unique address, press Copy and paste the address into the other app.
3
Optional: under Which records?, choose where the data is kept, such as Leads.
Without a unit, the run works on the data alone.
4
Press Listen for a test request, then send a test request from the app.
The first request within 10 minutes is saved as a sample, and no run starts. The sample’s values show so you can choose from them.
5
For each value of the request, pick the field it fills, or Don’t keep.
6
Under Then, on …, choose Find it in …, or create it and the field in Find it by…, or Always add a new one to ….
Such as the mobile number. A record that already exists is updated, not doubled.
7
Add the steps and turn on the automation.

How are records chosen?

Setting
Result
No unit
A run without a record
A unit, without matching
A new record for every request
A unit with matching, and a record is found
The existing record is updated, with no duplicate
A unit with matching, and nothing is found
A new record

Matching compares mobile numbers by digits only, email ignoring upper and lower case, and text after normalizing it.

Using the data

Every value from the request is available as a {{webhook.path}} variable, such as {{webhook.customer.phone}}. Conditions can read every value too.

Security and duplicates

You can press Add a signing secret; the secret shows only once. After that, unsigned requests are refused. You can drop the signature requirement later with Stop checking.

A duplicate request doesn’t start a second run: the same idempotency key within 24 hours, or the same content within 10 minutes.

If the automation is paused, requests are refused, except in listening mode.

For developers

The request is a JSON object up to 64 KB. Signature: X-Corteksa-Timestamp in Unix seconds (±5 minutes), and X-Corteksa-Signature: v1=<HMAC-SHA256> over “timestamp.body”. The idempotency key goes in Idempotency-Key.

If something goes wrong

What you see
Why
What to do
The other app gets a refusal because of the signature
The secret is wrong, or the time is more than 5 minutes off.
Press Make new and give the new secret to the developer.
An “automation is paused” refusal
The automation isn’t on.
A refusal because of too many requests
The app sent more than 60 requests in a minute.
Send fewer requests a minute.
A “plan executions used up” refusal
Your monthly executions ran out.
The link doesn’t work anymore
The automation was deleted.
Give the app the address of an automation that exists.
The checklist warns “The other app hasn’t sent anything to this workflow yet.”
You haven’t tested the address.
Press Listen for a test request and send a test request.

A real example

Namaa Academy
The situation

The sign-up form on the academy’s website doesn’t reach Corteksa.

What they did
  1. The trigger Another app sends data on “Leads”.
  2. Matching on the mobile number, creating a record if none is found.
  3. Mapping the name, the mobile number and the requested course.
  4. Sending a welcome message and creating a call task.
The result

Every sign-up on the website becomes a lead within seconds, and a known client is updated instead of duplicated.

A made-up company, to show the idea. The numbers are rounded.

Good to know

A request is up to 64 KB, and each text is cut at 2,000 characters.
Up to 60 requests a minute.
Up to 50 field mappings, up to 100 defined fields, and a path depth of up to 8 levels.
The sample keeps up to 200 values.
“Last request” may be up to a minute late.
Run each record only once and the goal only work with a unit and matching.
There’s no estimate of the number of runs for this trigger.
Did this guide solve it?
If not, we’ll ask what was missing.
Open in Corteksa
Did this guide solve it?

We read every answer. To get a reply, use Contact support.