FlowRunner
PricingContact
Theme
Start Free

Magileads

Sales Outreach

Run B2B multichannel prospecting with Magileads, covering contact lists, enrichment, workflows, statistics, suppression, and tags. Agents build the audience and keep suppression honored on every send.

1 trigger 46 actions API key available
Magileads website ↗ Capability data verified 2026-08-02
A company asks to be left alone, arriving as a reply, a support ticket or a CRM field change
Agent resolves the person across lists with Search Contacts and reads their stored record with Get Contact
Agent writes the individual address into the opt-out register with Import Unsubscribers so no campaign contacts them again
Agent counts how many contacts on that same domain currently sit in active lists with Get Contacts
Agent reads Get Blacklists to confirm which blacklist would receive the entry and whether substring matching is enabled on it
Agent reports the difference in blast radius between suppressing one person and suppressing the whole domain, with the contact count attached
The campaign owner sets the scope, and only then does Import Blacklist Data write a domain-level entry

What This Integration Enables

Magileads draws a line most outreach tools blur. A workflow is the sequence definition. A programmation is one scheduled run of that workflow against specific contact lists. It is the programmation, not the workflow, that carries the sending policy: start and stop dates, a daily cap, an overall total, allowed weekdays, per-day sending windows and their timezone, plus which blacklists and earlier programmations to exclude. That separation is what makes the same sequence safely reusable across segments, and it means an agent can reason about a run's blast radius before launching it rather than inferring it from the sequence.

The second thing Magileads takes seriously is suppression, which it models as its own machine rather than a checkbox. There is an account-level unsubscriber register, separate named blacklists that can be shared across a team or an organization, and blacklists that match on substring so a single bare-domain entry suppresses every address beneath it. There are dedicated sweep actions, Remove Unsubscribers From List and Remove Blacklisted From List, meant to run before a workflow is programmed. FlowRunner connectors expose all of it alongside contact list operations that run as background jobs, an enrichment and verification suite, and a realtime event stream covering opens, clicks, LinkedIn invitations and messages, SMS and voice. What FlowRunner adds is a person at the moment a suppression decision stops being reversible in practice.

Without FlowRunner

Opt-outs applied to one list Someone unsubscribes and stays reachable through every other list they appear in
Suppression checked after launch A programmation starts and the cleanup happens once complaints arrive
Background jobs treated as instant A workflow is programmed against a list whose import or enrichment has not finished

With FlowRunner

Opt-outs applied at account level The unsubscriber register and blacklists are enforced across every list before a run is programmed
Suppression is a pre-launch sweep Unsubscribed and blacklisted contacts are stripped from the list as a step, not a reaction
Jobs are awaited, not assumed The agent watches the list's job state until copy, merge and enrichment clear before programming anything

Use Case Scenarios

Clean the list, then program the run

Before a quarterly campaign, the agent works the lists rather than the sequence. It calls Remove Unsubscribers From List so anyone on the account opt-out register is stripped, then Remove Blacklisted From List against the competitor and existing-customer blacklists, then Verify List Emails to check deliverability. Each of those is a background job, so the agent polls Get Contact List and waits for the job state to clear rather than assuming completion. Only against a clean, settled list does it call Program Workflow with the daily cap, total, active weekdays and sending windows the campaign owner approved. The sequence never had to change; the run was aimed properly.

Filling gaps without a bulk spend

A list arrives with names, companies and LinkedIn URLs but patchy contact data. Rather than enriching everything, the agent uses Find Contact Email for the individuals a campaign actually needs, supplying the company LinkedIn URL because it materially improves the hit rate, and Find Contact Mobile only where a phone step exists in the sequence. Where a larger batch genuinely is needed it calls Create Enrich Batch and polls Get Enrich Batch until the percentage reaches a hundred, reading the per-contact errors rather than only the successes. Enrichment spend tracks what the sequence will actually use.

Reacting to the event instead of the report

The Magileads event stream fires on an answered email or an accepted LinkedIn invitation. The agent writes the signal onto the matching record in HubSpot, notifies the owning rep in Slack with the contact and the campaign named, and for a clear positive calls Stop Programmation scoped to nothing else, or updates the contact so later steps do not keep chasing someone who has already answered. Because the endpoint must respond within a couple of seconds, the flow acknowledges immediately and does the downstream work asynchronously rather than making Magileads wait on a CRM write.

Human-in-Loop Highlight

Import Blacklist Data looks like data entry until you notice what substring matching does. With that option enabled on a blacklist, a single bare-domain entry suppresses every address beneath it, across every campaign on the account, including campaigns that do not exist yet. Adding one domain to stop one person's complaint can quietly remove an entire enterprise account from all future outreach, and Magileads returns no per-entry impact count, so nothing in the response tells you how wide the suppression just went. Nor is there a natural moment later when anyone notices, because the failure mode of over-suppression is silence. So the agent measures first and asks: "Removal request from [email protected]. 47 contacts across 6 lists share that domain, including 12 in the active Enterprise DACH programmation. Suppress the single address on the unsubscriber register, or add northbridge.example to the Do Not Contact blacklist, which has substring matching on and will suppress all 47 permanently?" A person chooses the scope. This is the digital andon cord pointed in the unusual direction: not at sending too much, but at silently deciding never to send again.

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

46 actions

Contact Lists

7
  • Get Contact Lists Returns every contact list with counts of contacts, email addresses, LinkedIn URLs and distinct companies, plus the state of any long-running job currently touching the list such as an import, enrichment, split or merge.
  • Get Contact List Names Returns just the identifier and name of every list. Much lighter than the full listing, and the right choice when a flow only needs to resolve a name to an id.
  • Get Contact List Retrieves one list with its counts and the detailed state of any background job running against it, so a flow can wait for an import or enrichment to finish before acting.
  • Create Contact List Creates an empty list, optionally filed into a folder, tagged, and shared with a team, the organization, specific users or reseller customers. The language and country hints steer downstream enrichment and message localisation, so they are worth setting rather than defaulting.
  • Delete Contact List Permanently deletes a list and its membership. Workflows already programmed against it keep the contacts they enrolled, but no further contacts are drawn from it.
  • Copy Contact List Duplicates a list into a new one. Copying runs as a background job, so poll the list state and wait for the copy to clear before using the result.
  • Merge Contact Lists Merges several lists into one as a background job. Watch the target list's job state for the merge to clear before programming a workflow against it.

Contacts

8
  • Get Contacts Returns the contacts in a list, paginated and optionally filtered and sorted. Magileads stores contact fields as data-field values rather than fixed columns, so filters and sorts reference data field identifiers.
  • Search Contacts Runs a free-text search across the contacts of a single list. Used to resolve a person to their Magileads contact id before updating, enriching or suppressing them.
  • Get Contact Retrieves a single contact with all of its data-field values. Every attribute, whether name, email, company, LinkedIn URL or custom field, arrives as a data field identifier paired with a value, so read one existing record to learn the mapping on your account.
  • Import Contact Adds a single contact to a list, expressed as an array of data-field identifier and value pairs rather than named columns.
  • Update Contact Updates a contact's data-field values in place. Supply only the pairs that should change; anything absent keeps its current value.
  • Delete Contact Removes a single contact from a list. Activity already recorded against them in running programmations is retained, but no further steps target them from this list.
  • Copy Contacts To List Copies contacts from one list into another, either an explicit set of ids or everything matching a filter with an optional exclusion set. Runs as a background job on the destination list.
  • Delete Contacts From List Removes contacts in bulk, either an explicit set of ids or everything matching a filter. Reverse selection deletes everything except the supplied ids, which is powerful and worth reading twice before running.

Suppression Sweeps

2
  • Remove Unsubscribers From List Strips every contact from a list that appears on the account's unsubscriber register. Run it before programming a workflow so opted-out people are never contacted again.
  • Remove Blacklisted From List Strips every contact matching an entry on a chosen blacklist. Pair it with a blacklist holding competitors, existing customers or do-not-contact domains, and run it as a standing pre-launch step.

Enrichment and Verification

7
  • Enrich Contact List Runs enrichment across a whole list, filling in missing business data. Enrichment is a background job, so watch the list state rather than assuming it completed.
  • Enrich List With LinkedIn Data Enriches a list from LinkedIn, pulling profile data onto the stored contacts. Also a background job on the list.
  • Verify List Emails Runs deliverability verification across the addresses in a list. Check the list state afterwards and use the results to strip risky addresses before sending, because reputation is the shared asset a bad list spends.
  • Find Contact Email Finds a work email for one person from their company plus a full name or a first and last name. Supplying the company LinkedIn URL materially improves the hit rate. Returns the result directly rather than queuing a batch.
  • Find Contact Mobile Finds a mobile number for one person from their LinkedIn profile URL, optionally narrowed by company and full name. Also returns directly.
  • Create Enrich Batch Queues a batch enrichment job for a set of contacts supplied inline and returns a batch identifier. Enrichment runs asynchronously.
  • Get Enrich Batch Returns progress and results for a queued batch, including job status, completion percentage, the enriched contacts and any per-contact errors. Read the errors, not just the successes.

Workflows and Programmations

10
  • Get Workflows Returns the multichannel workflows with their steps, tags, folder, sharing and permissions, plus whether each is archived, pinned, currently programmed, a nurturing sequence or a newsletter.
  • Get Workflow Retrieves one workflow with its complete step definition, tags, folder, sharing rules and permissions. Read this before programming it to confirm the sequence is the one you intend to run.
  • Create Workflow Creates a multichannel workflow from an ordered array of step definitions. Enable auto-removal of responders so contacts who reply stop receiving later steps, and mark it as nurturing or a newsletter when it is not a cold sequence. Creating a workflow does not start it.
  • Delete Workflow Permanently deletes a workflow definition. Programmations already created from it and their recorded activity are affected, so stop any running programmation first if the history matters.
  • Program Workflow Launches a workflow against one or more contact lists, creating a programmation. This is where the sending policy lives: start and stop dates, a daily send cap and an overall total, allowed weekdays, per-day sending windows and their timezone. Blacklists and earlier programmations can be excluded so the same people are not contacted twice.
  • Get Programmations Returns the programmations on the account, each a scheduled run of a workflow against contact lists, with their schedule and current state.
  • Stop Programmation Stops a running programmation. Pending steps are cancelled and no further messages are sent, while recorded activity and statistics are preserved. This is the emergency brake.
  • Resume Programmation Restarts a stopped programmation. Contacts resume from the step they had reached rather than starting the sequence again.
  • Archive Programmation Archives a programmation so it drops out of the active list while its statistics remain available. Archiving does not delete the run or its activity.
  • Send Single Email Sends one email immediately from a connected sending account, outside any workflow. Tie it to a contact and list, or to an existing reply, so the message is recorded against the right conversation.

Statistics

3
  • Get Global Statistics Returns account-wide figures: unique contacts touched, emails sent and bounced, total and unique openers, clickers and answerers, LinkedIn invitations, messages and profile visits, SMS volume, and how many programmations are running, stopped or archived, with deliverability broken down per connected integration.
  • Get Programmation Statistics Returns statistics for every programmation on the account, so a dashboard can compare runs side by side without calling each one individually.
  • Get Programmation Statistic Returns sends, opens, clicks, answers and channel breakdown for a single programmation.

Blacklists and Opt-Outs

5
  • Get Blacklists Returns the blacklists on the account with their entry counts, sharing rules and whether each matches on substring rather than exact value. Substring matching is what makes a whole domain suppressible from one entry, so read this before writing to any of them.
  • Create Blacklist Creates a blacklist, optionally shared with a team, the organization, specific users or reseller customers, with substring matching enabled or not.
  • Import Blacklist Data Adds entries to a blacklist. With substring matching enabled, a single bare-domain entry suppresses every address beneath it across all campaigns, current and future, and no impact count is returned.
  • Get Unsubscribers Returns the account's opt-out register. Pair it with the list sweep action to strip those people before sending.
  • Import Unsubscribers Adds addresses to the opt-out register so no campaign contacts them again. This is how an opt-out captured in a CRM, a preference centre or an inbound reply becomes enforceable inside Magileads.

Tags and Webhooks

4
  • Get Tags Returns the tags defined on the account with colour, sharing rules and permissions. Tags group contact lists and workflows so large accounts stay navigable.
  • Create Tag Creates a tag with a display colour, optionally shared. Tag identifiers are what the list and workflow create actions expect.
  • Get Webhooks Returns the registered webhooks with name, enabled flag, subscribed event type, target URL, custom headers and the timestamp of the last test delivery.
  • Test Webhook Sends a test delivery so a receiving endpoint can be verified before real campaign activity arrives. Magileads expects an HTTP 200 within two seconds, which is worth testing rather than discovering under load.

Triggers

1 triggers

Event Triggers

1
  • On Magileads Event Fires when a contact triggers a chosen outreach event, covering an email opened or answered, a link clicked, a LinkedIn invitation sent or accepted, a LinkedIn message sent or answered, a profile visited, an SMS or voice message received or replied to, and an enrichment finishing. Magileads registers a webhook on the account and posts each event as it happens, and expects your endpoint to answer HTTP 200 within two seconds, so design the flow to acknowledge first and do CRM writes or notifications afterwards. Use it to sync engagement onto CRM records in real time, to route a positive answer to the owning rep before the daily report would have surfaced it, or to stop chasing a contact the moment they reply.

Frequently Asked Questions

What can FlowRunner do with Magileads?

FlowRunner agents can run Get Contact Lists, Get Contact List Names, and Get Contact List in Magileads, plus 43 more actions.

Does connecting Magileads to FlowRunner require OAuth?

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

Can Magileads trigger a FlowRunner workflow automatically?

Yes. Magileads supports 1 trigger that can start a FlowRunner workflow automatically.

Start building with Magileads

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