FlowRunner
PricingContact
Theme
Start Free

Salesforge

Sales Outreach

Run AI cold email and multichannel sending with Salesforge, covering workspaces, contacts and the do-not-contact list, sequences, and contact validation. Agents keep suppression honored on every send.

45 actions API key available
Salesforge website ↗ Capability data verified 2026-08-02
A segment is assigned to a sequence and validation is required before anything sends
Agent kicks off verification for the enrolled contacts with Start Contact Validation
Agent reads the verdict breakdown with Get Validation Results
Agent cross-references the enrolled contacts against Get Do Not Contact List so a suppressed address never reaches the send
Agent confirms every rotating mailbox is still connected with Get Mailboxes
Agent reports the verdict split, naming the catch-all and role-account counts that have no safe default
A person decides which verdicts the sequence may send to with Confirm Validation Results, or dismisses the gate deliberately with Skip Validation Results

What This Integration Enables

Salesforge is unusual in that it ships a safety gate and, right next to it, the action that removes the gate. Start Contact Validation runs verification against the contacts enrolled in a sequence. Get Validation Results reports the outcome across ten verdicts, from safe through catch-all and role account to spam trap. Confirm Validation Results decides which of those categories the sequence may actually send to. And Skip Validation Results dismisses the whole step so the sequence proceeds regardless. Both paths are legitimate, and which one is correct depends on facts no agent holds. That pairing is the most useful thing in the connector and it is where FlowRunner's human-in-the-loop step belongs.

The second distinctive object is the product. A Salesforge product is not a SKU, it is a positioning record: the ideal customer profile, the pain being removed, the solution, the proof points and the cost of inaction, optionally with translations. Sequences reference it, and generated copy is written from it. That means message quality across an entire workspace traces back to one editable object rather than to whoever last wrote a subject line. On top of these, agents get the full working surface through FlowRunner connectors: workspaces, contacts with custom variables and tags, sequence steps with weighted message variants for A/B testing, weekly sending schedules, mailbox rotation, a unified inbox with Primebox labels, and both email and LinkedIn replies on multichannel threads.

Without FlowRunner

Opt-outs live outside the sender A do-not-contact request captured in the CRM never reaches the sequence that keeps emailing
Ambiguous verdicts default to send Catch-all and role-account addresses go out because nobody was asked
Copy quality varies per sequence Every sequence is written from scratch and the positioning drifts between them

With FlowRunner

Suppression enforced at workspace level Addresses and domains on the do-not-contact list are suppressed across every sequence, and opt-outs from other systems are written into it
Ambiguous verdicts reach a person The validation gate stops the sequence and the risky categories are decided by name
Copy traces to one positioning record Sequences reference a stored product carrying the ICP, the pain, the solution and the proof points, so improving the source improves everything downstream

Use Case Scenarios

Enrolling only people nobody is already working

Get Contacts accepts a filter for contacts not already enrolled in a given sequence, which turns deduplication from a reconciliation chore into a query. A weekly flow pulls that filtered set, cross-checks it against Get Do Not Contact List, verifies against the matching records in HubSpot that nobody has an open opportunity, and enrols the survivors with Assign Contacts To Sequence. For inbound signals that need to move faster, Import Lead To Sequence creates the contact and enrols it in a single call, which is the shortest path from a form fill to a live sequence without skipping the suppression check.

Carrying an opt-out into the system that would keep sending

Someone replies to a marketing email asking to be removed, or a support ticket records a do-not-contact request, or a rep marks an account off-limits in the CRM. The flow that notices does not just annotate a record. It calls Add To Do Not Contact List with the address, or the whole domain when the request came from the account rather than the individual, so suppression applies across every sequence in the workspace including ones that do not exist yet. The reason is written back to the CRM so the next person to look can see why the contact went quiet.

Improving copy at the source instead of per sequence

A positioning change lands: new proof points, a sharper statement of the pain. Rather than editing sequences one by one, the agent reads the current positioning with Get Product, applies the change with Create Product for the revised version including translations, and repoints new sequences at it. Existing sequences are audited with Get Sequence to see which product each references. Get Workspace Sequence Metrics then compares performance across sequences by product, so the effect of the positioning change is measurable rather than asserted.

Human-in-Loop Highlight

Skip Validation Results exists for a good reason and is dangerous for exactly the same reason. Its entire job is to dismiss the validation step so a sequence proceeds without acting on the verdicts, which is correct when the addresses were already verified elsewhere and the gate is redundant, and reckless when nobody checked. Sitting beside it, Confirm Validation Results asks a question with no safe default: catch-all domains cannot be verified by anyone, role accounts like info@ and sales@ are real addresses that annoy real companies, and both are judgment calls about how much domain reputation you are willing to spend on reach. An agent can gather every number involved and should not pick. So it stops with the breakdown in hand: "Sequence 'EMEA Enterprise' validation complete on 2,140 contacts. 1,690 safe, 214 catch-all, 96 role account, 108 invalid, 32 disposable. Confirm safe only, include catch-all, or skip validation because this list was verified upstream?" A person answers, the agent writes the decision with Confirm Validation Results or Skip Validation Results, and the sequence starts having been aimed by someone who can be asked about it later.

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

45 actions

Account and Workspaces

3
  • Get Current User Validates the configured key and returns basic information about it and the account it belongs to. Useful as a connection smoke test at the top of a longer automation.
  • Get Workspaces Returns the workspaces associated with the account. Every other endpoint is workspace-scoped, so this is where the identifiers the rest of the connector needs come from.
  • Get Workspace Retrieves one workspace with its name and settings, which is worth calling to confirm an automation is pointed at the intended client workspace before it writes anything.

Contacts

5
  • Get Contacts Returns a page of contacts in a workspace, filterable by tag, by email verification verdict, or to contacts not already enrolled in a given sequence. That last filter is the usual way to find fresh prospects without duplicating outreach.
  • Create Contact Creates one contact. Custom variables are a flat map available to sequence templates, and tags can be supplied as existing identifiers or as names created on demand. The LinkedIn URL is what multichannel sequences use for their LinkedIn steps.
  • Bulk Create Contacts Creates up to a hundred contacts in one call with the same fields, custom variables and tags. Used to load a segment before assigning it to a sequence.
  • Get Contact Retrieves one contact with its full record including custom variables, tags and the email verification verdict.
  • Get Custom Variables Returns the custom variables defined on a workspace. These are the personalization keys sequence templates reference, so a flow should read them before inventing field names.

Suppression

2
  • Get Do Not Contact List Returns the workspace do-not-contact entries. Addresses and domains on this list are suppressed across every sequence in the workspace, which makes it the right place to enforce an opt-out rather than a per-campaign exclusion.
  • Add To Do Not Contact List Adds addresses or domains in bulk, suppressing them everywhere. This is how an opt-out captured outside Salesforge, in a reply, a support ticket or a CRM field, becomes enforceable inside it.

Sequences

11
  • Get Sequences Returns a page of sequences filterable by run status, by the product they sell, by identifier, and by whether they are legacy email-only or multichannel sequences that also include LinkedIn steps.
  • Create Sequence Creates a sequence tied to a product and a writing language. The language drives the wording of generated steps and the localised opt-out text, not just a label. The sequence is created empty, with steps, mailboxes and contacts attached separately.
  • Get Sequence Retrieves one sequence with its complete configuration: status, language, timezone, product, tracking and deliverability settings, opt-out handling, per-company outreach limits and reply-stop behaviour.
  • Update Sequence Updates deliverability and tracking configuration: open and click tracking, plain-text sending, ESP matching, bounce protection, unsubscribe link and localised opt-out text, per-company outreach limits, and whether a reply from anyone at a domain stops the rest of that company.
  • Update Sequence Status Starts or pauses a sequence, accepting only Active or Paused. Pausing halts sending while leaving each contact's position intact, which makes it the correct emergency brake.
  • Delete Sequence Permanently deletes a sequence. Contacts remain in the workspace but their enrolment, steps and pending sends are removed and cannot be recovered, so pause when the stop is temporary.
  • Update Sequence Steps Replaces the ordered steps of a sequence. Each step carries its position, the wait in days before it fires, its message variants, and how those variants are distributed across contacts, either evenly or by custom weights for A/B testing.
  • Update Sequence Schedules Replaces the weekly sending windows. Each entry names a weekday and its opening and closing hour in the sequence's own timezone, and days without an entry are silent, so an omitted day is a deliberate gap rather than an oversight.
  • Assign Contacts To Sequence Enrols existing contacts so they begin at the first step. Pair it with the not-in-sequence contact filter to enrol only people who are not already being worked.
  • Assign Mailboxes To Sequence Sets which mailboxes a sequence rotates through. Spreading volume across several warmed mailboxes is what keeps per-mailbox daily counts inside safe limits, so this is a deliverability decision as much as a routing one.
  • Import Lead To Sequence Creates a contact and enrols it in a sequence in a single call, accepting the same personalization fields as the contact create. This is the shortest path from an inbound signal to a live sequence.

Analytics

4
  • Get Sequence Contacts Count Returns how many contacts sit in each state within a sequence: active, paused, finished, replied, bounced, out of office, failed, suppressed, unsubscribed or deleted. Filter to specific states to answer one question cheaply.
  • Get Sequence Analytics Returns performance analytics over a required date range, optionally in a specific timezone. Use it for trend reporting rather than point-in-time funnel questions.
  • Get Workspace Sequence Metrics Returns headline metrics across every sequence in a workspace at once, optionally narrowed to a product or to specific sequences. This is what makes a positioning change measurable across sequences.
  • Get Sequence Sending Data Returns per-contact sending data across one or more sequences, showing what has been sent to whom and when. Used to reconcile activity against a CRM without walking each thread.

Validation

4
  • Start Contact Validation Kicks off email verification for the contacts enrolled in a sequence. Validation runs asynchronously, so a flow polls for results rather than assuming an inline answer.
  • Get Validation Results Returns the outcome broken down by verdict: safe, invalid, disabled, disposable, inbox full, catch-all, role account, spam trap, unknown or unvalidated. Read this before deciding what to confirm or skip.
  • Confirm Validation Results Confirms which verdicts and email providers the sequence may send to. Contacts outside the confirmed set are held back, which is how catch-all and role-account addresses are deliberately included or excluded before launch.
  • Skip Validation Results Dismisses the pending validation step so the sequence proceeds without acting on the verdicts. Legitimate when the addresses were verified elsewhere and the gate is redundant, and not something an agent should reach for on its own.

Mailboxes

4
  • Get Mailboxes Returns the sending mailboxes with connection status, filterable by status, tag, identifier, address or text search. The usual pre-flight check for mailboxes that have lost access before a sequence goes live.
  • Get Mailbox Retrieves one mailbox with its address, display name, provider, connection status and sending configuration.
  • Update Mailbox Applies a partial update to a mailbox: display name, signature, daily sending limit and similar settings. Only the fields supplied are written.
  • Create Mailbox OAuth Link Generates the consent URL a user opens to connect a Google or Outlook mailbox, returning them to a supplied redirect afterwards. Salesforge cannot connect these providers with stored credentials, so this link is the only path.

Inbox

6
  • Get Threads Returns conversation threads across a workspace's unified inbox, narrowable by mailbox, sequence, AI agent, Primebox label or free text, and filterable to positive replies only. That last filter is the fastest way to surface conversations worth a human response.
  • Get Thread Retrieves one thread with its messages in order, so a flow can read the whole exchange before drafting a reply or classifying the outcome.
  • Create Email Reply Sends a reply to an email in a thread from the mailbox that owns it. Attachments are supplied inline as base64, additional recipients can be added, and the prior exchange can be quoted beneath the new message.
  • Create LinkedIn Reply Sends a reply into a LinkedIn conversation belonging to a multichannel sequence thread. Only threads whose sequence includes LinkedIn steps carry LinkedIn messages, so a flow should branch on thread type rather than assuming.
  • Update Thread Label Sets the Primebox label on a thread. Writing the label from a flow, for example after a classification step reads the reply, keeps inbox reporting accurate and can fire the label-changed event.
  • Get Primebox Labels Returns the labels defined on a workspace. These are the classification buckets threads sort into, and their identifiers are what the label actions and filters expect.

Products

3
  • Get Products Returns the products defined on a workspace. A product carries the positioning copy is written from, and sequences reference it by identifier.
  • Get Product Retrieves one product with its full positioning: ideal customer profile, pain, solution, proof points, cost of inaction and industry, plus any language translations attached to it.
  • Create Product Creates a product with the positioning sequence copy is generated from, optionally with translations. The richer the ICP, pain, solution, proof points and cost of inaction, the better the generated copy, which makes this the highest-leverage record in the workspace.

Webhooks

3
  • Create Webhook Registers a webhook that posts to your URL when a chosen event occurs, optionally scoped to a single sequence. Salesforge publishes the event catalogue but not the delivered payload schema, so consume the raw request body. Note there is no delete endpoint, so removal happens in the Salesforge app.
  • Get Webhooks Returns the webhooks registered on a workspace with name, target URL, subscribed event and the sequence each is scoped to.
  • Get Webhook Retrieves one registered webhook by identifier with the same detail.

Frequently Asked Questions

What can FlowRunner do with Salesforge?

FlowRunner agents can run Get Current User, Get Workspaces, and Get Workspace in Salesforge, plus 42 more actions.

Does connecting Salesforge to FlowRunner require OAuth?

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

Can Salesforge trigger a FlowRunner workflow automatically?

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

Start building with Salesforge

$100 in credits. No card required. Connect in minutes.