Skip to content
Adoptiv

Inbound Webhooks

One address per source, sitting outside the login. It checks the signature, refuses the same delivery twice, files every exchange, and hands what arrived to a flow you built. Generate a new address and that source is cut off.

See pricing

One address outside the login, and the gates behind it

200
Credential set on this address
In this order
  1. 1The address, and whose it is
  2. 2Bounded before it is believed
  3. 3Per source, per minute
  4. 4Signature, or token, or neither
  5. 5Seen this delivery before
  6. 6Filed either way
compared in constant time, prefix tolerated
Delivery
/api/v1/webhooks/incoming/9tKq2xR7vLm4bYs1WnP0dHcE6fJa3Zu8
signed, and new
Answer
200
downstream: whatever flow you aimed it at
Blanked before the row is filed
  • authorization
  • cookie
  • x-webhook-token
  • x-api-key
  • proxy-authorization
generating a fresh path is how an integration gets cut off
every delivery is kept until the address itself is deleted
A log row is written for a refusal exactly as it is for an acceptance, with five request headers blanked first. A delivery that reaches the end can create a log row and then whatever flow you aimed it at, which includes writing a lead. Deals and tasks are not among the things it makes.
0
characters of address, and it is the first secret
0 hr
a repeat delivery is recognized and ignored for
0
request headers blanked before the delivery is filed

Product figures from the platform’s own defaults - not customer averages

The mechanism

How it works.

01

The address is generated, and it is the first secret

Twenty-four random bytes rendered URL-safe make a thirty-two character path. Which workspace it belongs to is worked out from the hostname the request arrived on, so nothing identifying you needs to travel in the body. Generating a fresh path is how an integration gets cut off.

02

Signature first, shared token second, and neither is also allowed

Given a signing secret, the header is compared in constant time against a hash of the exact bytes received, with a prefix on the header tolerated. Given a token instead, it is read from a header, a bearer line or the query string. Set neither and the address accepts anybody, and nothing on the form insists you set one.

03

An oversized body is turned away before it is read

A declared length over the ceiling is turned away before a byte is buffered, and the stream is severed at the ceiling as well, so a chunked body cannot slip past the first check. A per-minute counter sits in the shared cache. Refusals get filed exactly like acceptances do.

04

The same delivery twice does not run twice

The key comes from either standard header or, where the sender offers none, from a hash of the body itself, which covers the many services that send no key at all. Keys are remembered for a day. A repeat gets the same success answer, is marked duplicate in the log, and starts nothing downstream.

Where it sits

Two moments in every run.

Every run passes through the same seven. Inbound Webhooks is the lit ones, and everything either side of it is a different page in this category.

  1. 01
    Trigger

    the thing that happened first

  2. 02
    Enrol

    how somebody gets onto it

  3. 03
    Wait

    the pause, and what governs its length

  4. 04
    Branch

    the fork, and which side is taken

  5. 05
    Act

    the mail, the text, the task that goes out

  6. 06
    Measure

    what counts as it having worked

  7. 07
    Exit

    how somebody comes off it

The specifics.

8 facts
Address
A thirty-two character generated path per source. Regenerating it is how you revoke one
Signing
A hash over the raw body in a signature header, compared in constant time, prefix optional
Token fallback
Only where no signing secret is set: a header, a bearer line or a query parameter. Set neither and the address accepts anything sent to it, and both fields are optional on the form
Size ceiling
One megabyte unless raised, and fifty is as high as it goes
Rate limiting
Per source per minute, unlimited until you name a number, and it lets traffic through if the cache is unreachable
What a delivery can create
A log row always. Past that, whatever flow you aim it at, which includes writing a lead. Deals and tasks are not among the things it makes
Log retention
None. Every delivery is kept until the address itself is deleted, and deleting it takes the log with it
Not the same as
This is the way in, on an address you hand to a sender. Reading and writing records from outside is the REST API

More in Automation & Flows

13 capabilities

Sequences, dispositions and outside triggers that act without being asked.

Sequence Builder

What you draw is the thing that runs, not a picture somebody then has to build. Thirteen kinds of step, and publishing never moves a lead off their own place.

Email Sequences

Enroll a lead once and the cadence carries them at their own pace. Nobody loses their place when the platform updates, and nobody is sent one message twice.

Branch Logic

The next step answers something the person actually did, not something your floor guessed. Opened, clicked, replied, or how the last call was dispositioned.

A/B Split Testing

Two versions of one cadence, side by side. Nobody lands on both and nobody switches halfway, because the side is decided by arithmetic on their own record.

Wait & Timing

Park a lead for minutes or days between steps. The delay you type is a floor rather than an appointment, so the sending hours can push it later, not earlier.

Sending Windows

Nobody gets a message at ten past three in the morning. A pause coming due outside the hours you set is pushed forward before the time is ever written down.

Suppression Lists

One do-not-contact list per workspace, read on enrollment and read again inside the send, so an address added mid-cadence still stops the next message.

Call Tasks in Sequences

The phone, in the middle of a mail cadence. A rep gets a call task with their name on it, and whatever they log at hang-up decides where that lead goes next.

Goal Tracking

Stop writing to somebody who already bought. Name the deal state that means the cadence worked, and reaching it stamps the run and takes the branch behind it.

Disposition Behaviors

The do-not-call mark, the callback and the task happen because a rep picked the code, not because they remembered. Twenty-six behaviors, twenty codes shipped.

Workflow Triggers

Six things set a CRM rule off: stage change, field update, new record, reassignment, schedule, inactivity. A filter stops it waking for everything that moves.

Conditional Logic

The check between a rule firing and an action actually running. Eight comparisons, every one an AND, so a rule covering either of two things gets built twice.

SMS in Sequences

A text step on the same canvas as the mail and the call. It lands in the thread the SMS inbox reads, so the cadence and whoever answers see one conversation.

Automation & Flows

See inbound webhooks on your own floor.

Thirty minutes, your numbers and your data. We will set inbound webhooks up live and you can decide from the thing itself rather than from this page.

See pricing

14-day trial · no card · migration included