> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squid-id.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflows

> Trigger outreach automatically when a visitor is identified. Add them to your Instantly or HeyReach campaigns, sequence across tools, and stop when they convert. Pick a scenario, connect your tools, turn it on.

Workflows turn an identified visitor into action. When Squid ID recognizes someone on your site, a playbook can add them to your Instantly or HeyReach campaigns, hand off from one tool to the other, and stop a campaign the moment they engage or convert. Your tools do the sending; Squid decides who and when, and closes the loop.

Two words to keep straight: **Workflows** is the area in the dashboard. The sequences you run inside it are **playbooks**.

## If you're coming from RB2B

RB2B identifies visitors and hands them to your other tools. Squid ID does that too, that's what [integrations](/integrations/overview) are for, and takes it a step further: a workflow can drive the outreach itself and stop it when the person converts.

<div className="compare">
  <table>
    <thead>
      <tr><th /><th>RB2B</th><th>Squid ID</th></tr>
    </thead>

    <tbody>
      <tr><td>On a visit</td><td>Notify a channel</td><td>Notify, or start a multi-step playbook</td></tr>
      <tr><td>Outreach</td><td>Handed to tools you wire up yourself</td><td>Adds the person to your Instantly / HeyReach campaigns for you</td></tr>
      <tr><td>Across tools</td><td>Not provided</td><td>Hand off email to LinkedIn (or the reverse) in one playbook</td></tr>
      <tr><td>Stop on convert</td><td>Not provided</td><td>Stops the campaigns a person is in when they engage or sign up</td></tr>
      <tr><td>Trigger from an event</td><td>Not provided</td><td>Post an event (a form submit, a purchase) from your site to start or stop a playbook</td></tr>
      <tr><td>Your tools</td><td>Routes to Slack, webhook, CRM</td><td>Bring your own Instantly / HeyReach key, swap the tool without rebuilding</td></tr>
    </tbody>
  </table>
</div>

<p className="why"><strong>Why this matters.</strong> A visit alert tells your team someone showed up, then the follow-up lives in another tool you have to build and run. Instantly and HeyReach are great at sending, but neither can start on a website visit, hand off to the other tool, or stop when the person converts. Workflows sits above them and does exactly that.</p>

## Workflows or a connector?

Both act when a visitor is identified, so it helps to know which to reach for.

A **connector** (Slack, Teams, HubSpot, Clay, a webhook) is a one-shot handoff. The moment someone is identified, it fires once: it posts an alert, syncs a contact, or POSTs a payload. There is no sequence and no follow-up. Use a connector to **tell your team someone showed up** or **put the record in your systems**.

A **workflow** is a sequence over time. It adds the person to a campaign, waits, hands off from one tool to another, and stops on its own when they convert. Use a workflow to **actually reach out** and **close the loop**.

<div className="compare">
  <table>
    <thead>
      <tr><th /><th>Connector</th><th>Workflow</th></tr>
    </thead>

    <tbody>
      <tr><td>Shape</td><td>One-shot, fires once per visit</td><td>A sequence with waits and steps</td></tr>
      <tr><td>What it does</td><td>Alert a channel, sync a CRM, POST a webhook</td><td>Add to a campaign, hand off email to LinkedIn</td></tr>
      <tr><td>Follow-up</td><td>None</td><td>Multi-step, over days</td></tr>
      <tr><td>Stops on convert</td><td>No</td><td>Yes</td></tr>
      <tr><td>Reach for it when</td><td>You want to know and route</td><td>You want to reach out and convert</td></tr>
    </tbody>
  </table>
</div>

<Info>They work together. A connector can alert your rep the instant a best-fit visitor lands, while a workflow runs the outreach in the background. Slack, HubSpot, Teams, and Clay are <strong>connectors</strong>, not workflow steps. See <a href="/integrations/overview">Integrations</a>.</Info>

## How a playbook works

A playbook is three things in plain order:

1. **A trigger.** What starts it. A visitor is identified, a best-fit visitor who matches your ICP shows up, a visitor hits a high-intent page, or an event you send from your own site (a form submit, a purchase).
2. **Steps.** What it does, one after another: add them to a campaign, wait, then add them to another. A step names a campaign in your tool, not a message. Waits are real delays, so a "wait 2 days" step runs two days later on its own.
3. **Stop.** How it ends. A step can mark someone complete in a campaign the moment they engage, and a playbook stops for a person when they convert, reply, or unsubscribe (driven by an event you send).

Every playbook acts on a **person**, matched by email, so the same visitor is enrolled once and stopped once no matter how many tabs or sessions they have.

## The tools

A step names a capability, not a vendor, so you connect your own account once and every playbook that uses it works.

| Capability | Tool      |
| ---------- | --------- |
| Email      | Instantly |
| LinkedIn   | HeyReach  |

Keys are yours. You paste them once, they are stored encrypted, and Squid ID only ever sends on your behalf with your key. A playbook cannot be turned on until every tool it uses is connected. This is the connect-first gate, so a live playbook never silently fails to send.

## Triggers

Choose when a playbook runs:

* **When a website visitor is identified.** The moment Squid ID de-anonymizes a visitor with our own identification. Optionally narrow it to a campaign source: only run when the link they arrived on carried a param you choose (for example `utm_source=instantly`). You can also point a playbook at a link token, so it still acts on someone you emailed even when we couldn't de-anonymize them.
* **When a best-fit visitor matches your ICP.** Uses the same [ICP](/finding-visitors/icp-filtering) definitions as the rest of Squid ID. Only fires when the visitor matches.
* **When a visitor hits a high-intent page.** Uses your [high-intent pages](/finding-visitors/pages). Only fires when they hit one.
* **When you send a custom event.** An event from your own site, like a form submit or a purchase. Works for any website, not just SaaS apps. See [Event tokens](/workflows/event-tokens).

## Steps

Each outreach step picks a real campaign from your tool and an action:

* **Add to a campaign.** Enroll the person in an Instantly or HeyReach campaign you built.
* **Stop a campaign.** Mark the person complete so the tool stops sending. Use this to end a cold sequence the moment they engage, then hand off to a warmer one.
* **Wait.** A delay before the next step (minutes, hours, or days).

There is no message editing in a step. The copy, the cadence, and the A/B all live in the tool's campaign, where they belong. You choose the campaign; the tool runs it.

### If we don't have their LinkedIn

HeyReach needs a LinkedIn URL. When a person was reached by a link token but not de-anonymized, a LinkedIn step can optionally look their LinkedIn up from their email. It is billed as a Squid ID enrichment at your match rate, only when we find one, and only if you turn it on for that step. See [Squid ID+](/add-ons/squid-id-plus) for how enrichment is priced.

## Scenarios

Workflows ships with scenarios you can start from. The generic ones start as a trigger. You add the action (LinkedIn or Instantly, your choice) in the builder, so a playbook only exists once you have configured and saved it. **Build your own** starts from a blank playbook.

### Warm visitor

A person you already emailed clicks through and lands on your site. Right now they are as warm as they will ever be, and a manual "hey, saw you stopped by" never happens at scale. This playbook catches that visit and adds the person to a HeyReach or Instantly campaign automatically, in the moment, while they are still thinking about you. You pick the channel and the campaign; Squid ID supplies the timing you can't get any other way, the exact instant they showed intent.

**Use it when** you send outbound (cold email or LinkedIn) and want a warm second touch the moment a prospect engages, without watching your visitor feed by hand.

### Cold email that converts

You run a cold Instantly campaign. A recipient clicks and visits. Two things should happen at once: stop burning that person with more cold email (they've engaged, keep going and you look spammy), and switch to a warmer, higher-converting channel. This playbook marks them complete in the cold campaign and hands them off to a HeyReach LinkedIn sequence, so the same prospect moves from a channel that got their attention to one that closes. Neither Instantly nor HeyReach can do this handoff, because neither can see the website visit.

**Use it when** you want your cold email to graduate engaged prospects into LinkedIn instead of hammering them with more of the same.

### High-intent to priority outreach

Not every visit is equal. Someone on your pricing page, your demo page, or your integrations page is telling you something a homepage bounce isn't. This playbook fires only when a visitor hits a page you flagged [high-intent](/finding-visitors/pages), and drops them into a priority campaign, so your best sequences are reserved for the visits that actually signal buying intent.

**Use it when** you want to treat pricing/demo/high-intent traffic differently from casual browsers, and route it to a sharper campaign.

### ICP to priority outreach

You don't want to spend outreach on everyone who matches, only on the people who look like your best customers. This playbook fires only when an identified visitor also matches your [ICP](/finding-visitors/icp-filtering), the same firmographic definition you use everywhere else in Squid ID, and adds them to a priority campaign. Best-fit visitors get your best sequence; everyone else doesn't cost you a touch.

**Use it when** you have a clear ICP and want automated outreach reserved for best-fit accounts.

### Trigger from an event on your site

The scenarios above start from a website visit. You can also start (or stop) a playbook from an event your site sends, like a form submit, a booked demo, or a purchase. This works for any website, not just SaaS apps. See [Event tokens](/workflows/event-tokens) for the pattern: post an event you name, and that name becomes a trigger. The most valuable version is the stop side, when someone converts, one event pulls them out of every campaign they're in, so you're never still chasing a warm lead.

**Use it when** your site knows something the visit alone can't tell you (they filled a form, booked a call, bought) and you want outreach to react to it.

## Turn it on

Open the playbook and flip the toggle. If something isn't ready, Squid ID tells you exactly what and gives you a one-click way to fix it: add an action, pick a campaign, connect a tool, or start your trial. A live playbook shows as **Live**, and you can turn it off any time.

## Pricing

Workflows is a flat monthly add-on with a free trial. It unlocks playbooks and [event tokens](/workflows/event-tokens). The one usage cost is LinkedIn enrichment, drawn from your prepaid credits at your match rate, only when we find a LinkedIn. Enable it under <strong>Settings → Add-ons</strong>.

## Related

* [Event tokens](/workflows/event-tokens)
* [ICP filtering](/finding-visitors/icp-filtering)
* [High-intent pages](/finding-visitors/pages)
* [Campaign tracking](/finding-visitors/campaign-tracking)
* [Instantly](/integrations/instantly)
* [HeyReach](/integrations/heyreach)
