>unstuck engine
>Engine
>SignalsForty signal types, one pipeline>Waterfall enrichmentMulti-provider, ranked by reply rate>AudiencesSaved filters that update themselves
>Plays
>PLG AssistTurn free signups into enterprise pipeline>Inbound enrichmentEvery form fill, enriched and routed in seconds>ABMSurround the account, grade the buying committee
>Partners
>AgenciesPipeline as a service. With your name on top.>AdvocatesSix ways to advocate. Pick yours.
>Pricing
Book a Demo

> help

> Help index
  • 01What signals are and why they matter
  • 02Signal categories — 1st-party, 2nd-party, zero-party
  • 03The 31 signal types — a tour
  • 04Configuring autoqualify on a signal
  • 05Reading the signals table — column by column
  • 06Signal detail view — drilling in
  • 07Replies and Conversions — inbound events and attribution
Contents

Help / 07 · Signals

> Replies and Conversions — inbound events and attribution

Replies and Conversions are inbound signals — your own tools post events to a URL we mint, in any JSON shape. Every signal that reached the person in the 365 days before shares the attribution.

4 min read·Never reviewed

TL;DR: Both signals are inbound. Your own tools post events to a URL we mint, in whatever shape they already send. When someone replies or converts, every signal that reached them in the 365 days before shares the attribution — not just the last one.

What these signals are

Every other signal watches the outside world. Replies and Conversions listen to your own stack.

  • Replies — someone answered your outreach. Channels: Email, LinkedIn, Phone, Other.
  • Conversions — someone took a commercial action. Types: Meeting booked, Signup, Purchase, Other.

We mint a URL per endpoint. You paste it into the tool that already knows about the event — Smartlead, HeyReach, Instantly or lemlist for replies, Calendly, Cal.com, Chili Piper or Stripe for conversions. Anything else uses the generic option.

There is no payload mapping. We accept any JSON shape and read the identifiers out of it. You don't build a template, rename a field, or transform anything on the way out of your tool.

How attribution works

When someone replies or converts, every signal that reached them in the 365 days before is attributed to that outcome. If a keyword mention, a hiring-intent alert and a page follow all reached the same person before they replied, all 3 are attributed.

We don't pick a single winner. First-touch and last-touch both hide the signals that did the work in between. Those are exactly the ones you're deciding whether to keep running.

Because every participating signal is attributed, the totals add up to more than your real reply count. That's the point — you're comparing signals against each other.

Right now every signal in the journey counts the same. Weighting them differently is coming, and you'll set the weights yourself.

Why 5 columns say touch-attributed

On the Signals page, 5 columns carry a touch-attributed micro-label: Replied, Meetings booked, Signed up, Purchase and LTV.

The label means the number is per-signal attribution, not a count of events. 1 reply from a person that 3 signals reached adds 1 to Replied on each of those 3 rows. Those rows now show 3 replies between them. 1 reply happened.

So summing the Replied column across your signals does not give you your reply count. It gives you the total attribution handed out. Read each row against the other rows — that comparison is what the column is for. Your real totals are on the Replies and Conversions pages.

The same holds for the 3 conversion columns, and for LTV, which carries the label too — it sums attributed purchase amounts off the same credited events as Purchase, so it inflates identically.

What we can and can't identify

We always try to match an event to someone you already have. That match is free and can't be turned off, because we can't attribute a reply without knowing who sent it.

Looking up someone you've never seen before is a different job. It uses enrichment credits, and that's what the Autoqualify setting on the page controls. It's on by default.

Know these 3 limits before you wire anything up.

  • A phone reply only matches a number you already have. Nothing in our stack turns a phone number into a person. If the phone channel matters to you, put numbers on your records — that's the only way replies on it attribute to anyone.
  • Addresses like info@ or jsmith@ don't identify anyone. Our lookup reads a name out of the address. info@ carries no name. jsmith@ can't be split into a first and last name without guessing, and we don't guess.
  • Nothing is dropped. An event we can't match to a person is still stored, still counted, and shown as unidentified in the events list on the signal's page.

Delivery

We keep every event we receive, including ones we can't match to a person.

We don't ask for events a second time. If your tool sends one while we're unavailable, it arrives only if your tool retries it. Whether an event survives an outage is decided by the sending tool's retry behaviour, not by ours — so check what yours does. Some retry for hours. Some fire once and move on.

Setting one up

  1. Open Signals from the sidebar and click into Replies or Conversions
  2. Click Add webhook, top right
  3. Pick the channel (or conversion type) and the tool that will send the events
  4. Copy the URL
  5. Paste it into that tool's webhook settings and save it there

The URL looks like this:

https://run.unstuckengine.com/api/webhooks/replies/email/<workspace-id>/<token>

The URL is a secret. Anyone holding it can post events as you. It belongs in your sending tool's settings and nowhere else — not a shared doc, not a ticket, not a screenshot.

Rotating breaks the old URL immediately. There is no overlap period, so update the sending tool first and rotate second. The other order loses every event in between.

Stripe needs 1 extra field. Paste the signing secret from your Stripe webhook — it starts with whsec_. Without it we reject Stripe events, because we can't confirm they really came from Stripe.

A reply can move someone up a stage

Replies and conversions count toward every engagement-stage rule. A single reply can move a lead up a stage the moment it lands.

That has a knock-on effect. Moving up a stage can change which audiences a lead belongs to, and audiences can trigger destinations. A lead who replies can land in a new sequence the same day.

Check your audience rules if you don't want people who already replied to receive more outreach.

Related

  • What signals are and why they matter
  • Reading the signals table — column by column
  • Configuring autoqualify on a signal
  • Team and engagement stages
  • Building an audience — Copilot first, then manual
Previous06Signal detail view — drilling inSignals

On this page

  • What these signals are
  • How attribution works
  • Why 5 columns say touch-attributed
  • What we can and can't identify
  • Delivery
  • Setting one up
  • A reply can move someone up a stage
  • Related

Share

> wave is here.

Schedule it.
>unstuck engine
PricingBlogContact
>unstuck engine

The B2B GTM engine. Signal-led targeting, ICP-fit pipeline.

Product

  • Pricing
  • Comparisons
  • Blog
  • Handbook
  • Help

Company

  • Contact

Legal

  • Terms
  • Privacy

© 2026 Unstuck Engine. All rights reserved.

> wave is here.

Schedule it.
>unstuck engine
PricingBlogContact
>unstuck engine

The B2B GTM engine. Signal-led targeting, ICP-fit pipeline.

Product

  • Pricing
  • Comparisons
  • Blog
  • Handbook
  • Help

Company

  • Contact

Legal

  • Terms
  • Privacy

© 2026 Unstuck Engine. All rights reserved.