FlowRunner
PricingContact
Theme
Start Free

SmartReach.io

Sales Outreach

SmartReach.io is a multichannel cold outreach platform. Agents add prospects, manage campaigns and read their stats, work tasks, maintain the do-not-contact list, and administer teams and users.

Verified 16 actions API key available
SmartReach.io website Platform Documentation Capability data verified 2026-08-19
A scheduled sweep runs across the team's active campaigns
Get Campaign Stats returns sent, replied, and the two counters that mean stuck
Merge tag errors and failed email validation are compared against each campaign's prospect total
List Prospects pulls the affected records with their owner and their field values
Add Or Update Prospects repairs the fields that broke the merge tags, matched on the columns you chose
A digest posts to the campaign owner naming what was repaired and what is still stuck
The owner decides whether the remaining records get fixed, dropped, or suppressed

What This Integration Enables

SmartReach.io runs multichannel sequences across email, calls, LinkedIn, WhatsApp, and SMS, and its API is deliberately narrow: sixteen operations covering prospects, campaign state, the task queue, the do-not-contact list, and the teams the account is organized into. That narrowness is the thesis. This connector is not where you compose a sequence. It is where an agent feeds the platform clean prospects, watches what stalls, keeps the suppression record honest, and moves the human task queue along.

That division of labor is exactly the one FlowRunner is built for. The sequence design stays with the person who understands the market. The agent takes the repetitive edges: repairing merge tag data before it silently fails, reading the two stats counters that mean a prospect is stuck rather than slow, and turning opt-outs that arrived somewhere else into permanent suppression. Where a call carries real consequence, the connector's human-in-the-loop gate is a step in the flow rather than a policy in a document.

Without FlowRunner

Stuck prospects go unseen Merge tag errors and failed validation sit inside a stats payload nobody opens
Opt-outs arrive off platform A reply lands in a shared inbox and never reaches the suppression list
Task queue drifts Call and LinkedIn tasks pile up with no system deciding what is still worth doing

With FlowRunner

Stuck is a reported state The stuck counters are swept on a schedule and each affected prospect is named
Suppression is the default response An opt-out anywhere becomes a do-not-contact entry, so a later import cannot undo it
The queue is triaged before a person opens it Tasks are snoozed, completed, or skipped by rule, and only judgment calls stay

Use Case Scenarios

  • The stuck prospects nobody reports

    Get Campaign Stats returns the familiar totals alongside two counters that behave differently: merge tag errors and current failed email validation. Prospects in those buckets are not progressing at all, and nothing else in the API reports them. On a schedule, the agent walks the team's running campaigns, pulls those counts, and cross references List Prospects to find the records behind them. Missing company names, blank first names, and malformed addresses go back through Add Or Update Prospects with the matching columns set deliberately so an existing prospect is updated rather than duplicated. Repairs land in a Google Sheets log, and the residue goes to the owner.

  • The opt-out that arrived somewhere else

    A prospect replies "take me off this list" to a rep's personal mailbox, or says it on a call, or writes it in a HubSpot ticket. Deleting the prospect record does not solve it, because the next import puts the address back. The agent instead calls Add Emails To Do Not Contact, which blocks the address across every campaign in the team, and posts confirmation into Slack with the source of the request attached. When a whole company asks to be left alone, Add Domains To Do Not Contact covers the domain, with named exceptions kept reachable where a relationship exists on the account side.

  • A task queue that has already been triaged

    Reps open SmartReach to a list of due calls and LinkedIn touches. Before they do, the agent works the queue: Change Task Status pushes tasks whose prospect has since replied to done, snoozes tasks for accounts in an active support escalation until the ticket clears, and skips tasks against addresses that appear on the do-not-contact list. Each move is logged. What is left in front of the rep is the set of touches that still need a person to judge whether they are worth making, which is a much shorter list than the one the schedule produced.

Human-in-Loop Highlight

Every action on this connector runs unattended except one. Adding to the do-not-contact list is safe in the direction it points, so the agent does it freely. Remove From Do Not Contact points the other way: it takes an entry id and makes that address or domain reachable again by future campaigns, and the list gives the agent ids, not the reasons anyone was added. A typo'd domain block and a person who explicitly asked to be left alone look identical from the API. So the sweep stops and asks: "Entry 4412 blocks the domain northgate-partners.com across this team. Removing it makes every address at that domain reachable by future campaigns. It was added on March 4 and no source is recorded. Restore it, leave it, or restore it with the three named contacts kept blocked?" A person answers, and the answer is what runs. Restoring contactability is not a data cleanup task, and the agent does not treat it as one.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

16 actions

Teams and Users

4
  • List Teams Returns the teams the API key's user belongs to. An API key here is user specific and a user can sit in several teams, so this is the right first call and the team id it returns scopes almost everything else.
  • Get Team Reads one team along with the users in it. Used to resolve membership before assigning ownership.
  • List Users Returns the users in a team with their addresses, timezones, and active state. A user id from here is what a prospect's owner is set to.
  • Get User Reads one user of a team by id. Used to resolve an owner before routing a decision to them.

Prospects

2
  • List Prospects Returns prospects in a team. Paging walks the collection with time bounds rather than page numbers, so an incremental sweep picks up where it left off.
  • Add Or Update Prospects Creates or updates prospects in a single call. The matching columns you supply decide which of the two happens, so set them deliberately when a prospect may already exist under a different address.

Campaigns

5
  • List Campaigns Returns a team's campaigns, filterable by status, name, sending address, or receiving address. The entry point for any sweep across active work.
  • Get Campaign Reads one campaign with its sending window: the timezone it runs in, its daily start and end, and which days of the week it may send on.
  • Get Campaign Stats Returns performance totals alongside the current pipeline, including how many prospects are bounced, opted out, unsent, blocked by merge tag errors, or failing email validation. The last two are the ones that mean stuck.
  • Get Campaign Channel Settings Reads a campaign's multichannel configuration, with separate blocks for email, calls, LinkedIn, WhatsApp, and SMS. This is how a flow tells which channels a campaign actually uses before it acts on one.
  • Change Campaign Status Starts, schedules, or stops a campaign. Starting begins sending immediately within the campaign's own daily window, so a flow that calls this is committing to a send.

Tasks

1
  • Change Task Status Moves a task to due, snoozed, done, or skipped. Used to triage the rep queue against what has happened elsewhere, so the list a person opens is already filtered to real decisions.

Do Not Contact

4
  • List Do Not Contact Returns the team's do-not-contact list, the addresses and domains no campaign may reach. Read it before enrolling anyone.
  • Add Emails To Do Not Contact Blocks specific addresses across every campaign in the team. The correct way to honor an opt-out that reached you outside SmartReach, because deleting a prospect does not stop a later import from adding the address back.
  • Add Domains To Do Not Contact Blocks whole domains, with an optional list of addresses to keep reachable within each. Used when an organization, not an individual, asks to be left alone.
  • Remove From Do Not Contact Removes entries by their ids and makes those addresses or domains reachable again by future campaigns. The operation this page's human gate exists for.

Frequently Asked Questions

What can FlowRunner do with SmartReach.io?

FlowRunner agents can run List Teams, Get Team, and List Users in SmartReach.io, plus 13 more actions.

Does connecting SmartReach.io to FlowRunner require OAuth?

No. SmartReach.io connects to FlowRunner with an API key, no OAuth flow required.

Can SmartReach.io trigger a FlowRunner workflow automatically?

SmartReach.io doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with SmartReach.io

Free plan, no card required. Connect in minutes.