Force24
Email MarketingRun marketing automation on Force24, the UK platform, through its official API. Agents manage contacts and lists, trigger journeys, and read engagement data back for scoring and routing.
What This Integration Enables
Force24 is the UK marketing automation platform, and its API is built for teams who have to be able to prove what happened to a person's data. The clearest evidence is that deletion and erasure are two separate feeds. Get Deleted Contacts reports records removed from the account. Get Erased Contacts reports records erased under a right-to-be-forgotten request. Those are different legal events with different obligations, and most platforms collapse them into one delete flag, which leaves you unable to tell a housekeeping removal from a statutory one. Force24 refuses to blur that, and this connector carries the distinction through into the flow.
The second design decision worth naming is that nearly every read is a resumable cursor. Engagement feeds return a next version number, sent items and web activity return a next offset, and passing the value back collects only what arrived since. That is what makes a downstream mirror something you can demonstrate is in step rather than something you hope is. On top of that sit batch contact writes with per-item results, custom objects modelling repeating records like orders and bookings, tracked web activity flagged for goal and high-value pages, and campaign reporting down to per-contact events. FlowRunner agents use all of it to keep a CRM, a warehouse and Force24 telling the same story about the same person, and to raise an automation exception when they stop agreeing.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Incremental mirror into the warehouse
A scheduled agent walks Get Recent Contacts using the stored version number, pulls only the records that changed since the last run, and writes them into Snowflake. It then walks Get Email Activity for opens, clicks, bounces and unsubscribes with the same cursor pattern, so the engagement table grows by exactly what happened rather than by a full reload. Because the cursor is returned by Force24 and stored by the flow, a failed run resumes at the right place instead of duplicating a day of events.
Web behavior turning into a sales hand-off
Get Web Activity returns tracked visits with the page URL, referrer, device and, critically, whether the page is flagged as a goal or high-value URL. An agent polls this feed, and when an identified contact hits two high-value pages inside a week, it pulls their full picture with Get Contact Web Activity and Get Contact Email History, then creates the opportunity in Pipedrive with that behavioral timeline attached. The rep opens a record that already explains why this lead surfaced today.
Orders as custom objects, kept in step
An order is placed in the commerce system. The agent calls Get Contact Objects to find the order object ID, then Upsert Contact Object Instance with the order's external ID, so personalization inside Force24 can reference the real basket. When the order is cancelled, Delete Contact Object Instance removes that instance by the same external ID, and the abandoned-order journey stops referencing something that no longer exists. The contact record and the commerce system agree without anyone reconciling a spreadsheet.
Human-in-Loop Highlight
The gate is on executing an erasure downstream. Reading Get Erased Contacts is safe. Acting on it is not, because propagating an erasure means permanently destroying records in a CRM and a warehouse, and an erasure applied to the wrong person is both unrecoverable and a data protection incident in its own right. The hard part is resolution: Force24 returns numeric contact IDs, and if a contact was created before the external ID mapping was in place, or if two downstream records share an email address, the ID does not point cleanly at one row. The agent will not guess its way through that. It resolves what it can, isolates what it cannot, and posts the result: "Get Erased Contacts returned 14 IDs since version 88204. 11 resolve to exactly one record in Salesforce and one row in Snowflake. 2 resolve to two Salesforce records each, both sharing an email address. 1 has no downstream match at all. Approve the 11 for erasure, and tell me how to handle the 3?" A person with the request in front of them decides. The agent then executes, and records which ID was erased in which system and who authorized it, which is the artifact the regulator will eventually ask for.
Agent Capabilities
38 actionsMarketing Lists
9- Get Marketing Lists Retrieves the marketing lists with contact counts, engagement scores, bounce counts and lock status, filterable by keyword and tag. Used to find the right audience and to judge its health before targeting it.
- Get Marketing List Retrieves one list by GUID with its counts, average engagement score, date last used and lock state. Used as the preflight check before a campaign is pointed at it.
- Create Marketing List Creates a new marketing list, with a lock status controlling whether it can be modified afterwards. Used to provision an audience that is populated once and then frozen.
- Update Marketing List Renames a list or changes whether it is flagged as a test list. Test lists are excluded from the default listing, which keeps internal QA audiences away from live campaigns.
- Delete Marketing List Permanently deletes a list from the account. The contacts themselves survive; only their membership of this list is removed. Lists locked as read only cannot be removed until the lock is lifted.
- Add Contacts To List Adds a batch of existing contacts to a list by their numeric IDs. Contacts already present are left unchanged, so the operation is safe to re-run.
- Remove Contacts From List Removes a batch of contacts from a list while preserving the contact records and their history. Used to retire an audience without deleting any data.
- Get Contacts Added To List Retrieves contacts recently added to a list using the version-number cursor. Used to detect new joiners on a schedule without rescanning the whole list.
- Get Contacts Removed From List Retrieves contacts recently removed from a list using the version-number cursor. Used to keep an external audience mirror in step as people leave.
Contacts
9- Upsert Contacts Creates or partially updates a batch of contacts, matched on email address or your own external ID, leaving unsupplied fields untouched. Returns a per-item status so the flow knows exactly which records were created, updated or rejected. The safe default for syncing a CRM into Force24.
- Create Contacts Creates a batch of new contacts without updating anything that already exists, reporting known addresses as rejected rather than overwriting them. Used when the flow must not touch existing data under any circumstances.
- Update Contacts Partially updates a batch of existing contacts without creating anything new, reporting unmatched records as rejected. Used when the source system is authoritative for changes but must not introduce new people.
- Find Contacts Finds contacts by email address or external ID, returning only the fields requested, optionally narrowed to records from a specific source key. Used when several systems feed the same account and provenance matters.
- Get Contact Retrieves a single contact by numeric ID, returning only the named fields. Used after Find Contacts to pull the full profile a flow needs.
- Delete Contact Deletes a contact by numeric ID. The deletion is reported through Get Deleted Contacts so downstream systems can pick it up. Used to honor a deletion request received outside Force24.
- Get Recent Contacts Retrieves contacts recently created or changed using the version-number cursor, scopeable to one list, one source key, or records carrying an external ID. The recommended polling pattern for one-way syncs out of Force24.
- Get Deleted Contacts Retrieves the IDs of contacts recently deleted, using the version-number cursor. Used to stop a downstream CRM or warehouse holding records that no longer exist upstream.
- Get Erased Contacts Retrieves the IDs of contacts erased under a right-to-be-forgotten request, using the version-number cursor. Erasure is stronger than deletion and must reach every downstream system, so this feed is polled alongside Get Deleted Contacts and handled with its own approval step.
Schema
2- Get Contact Fields Retrieves every contact field defined on the account with its ID, display name, data type, read-only flag and value constraints. Used to discover the field IDs the contact operations expect, rather than hard-coding them.
- Get Contact Objects Retrieves the custom objects defined against contacts, which model repeating related records such as orders, bookings or subscriptions. Used to discover what structured data the account can hold beyond flat fields.
Custom Objects
3- Get Contact Object Instances Retrieves every stored instance of a custom object for one contact, for example all of that person's orders. Used to assemble a complete commerce picture for personalization or support.
- Upsert Contact Object Instance Creates a custom object instance against a contact, or patches the existing one with the same external ID. Used to keep order, booking or subscription records in step with a commerce system without producing duplicates.
- Delete Contact Object Instance Deletes one instance of a custom object addressed by its external ID. Used to reverse a cancelled order or booking so downstream personalization stops referencing it.
- Get Email Campaigns Retrieves the email campaigns in the account with pagination and sorting. Used to discover the campaign IDs every email reporting operation needs.
- Get Email Campaign Retrieves one campaign by numeric ID with its name and timestamps. Used to confirm a campaign exists and is the API-enabled kind before a single-contact send is attempted.
- Send Campaign To Contact Sends an existing email campaign to one specific contact. Force24 permits this only for campaigns configured as API campaigns on the account, so the campaign has to be enabled first. This is the transactional path for triggered one-to-one sends.
Reports
4- Get Email Campaign Stats Retrieves aggregated performance for one campaign, optionally restricted to a date range. Used to pull send, open, click, bounce and unsubscribe totals into a reporting workflow.
- Get Campaign Email Activity Retrieves per-contact email activity for one campaign, choosing between sent, open, click, bounce and unsubscribe events, using the version-number cursor. Used to drive per-person follow-up rather than aggregate reporting.
- Get Email Activity Retrieves account-wide email activity across every campaign. Sent items use an offset cursor while engagement feeds use a version-number cursor, and passing back the previous value continues where the last run stopped.
- Get Contact Email History Retrieves every email sent to one contact, including the campaign name and the journey it came from, with offset paging. The right source for a per-person communication timeline inside a CRM.
SMS
3- Get SMS Campaigns Retrieves the SMS campaigns in the account with pagination and sorting. Used to correlate sent items back to the campaign that produced them.
- Get SMS Sent Items Retrieves account-wide SMS sent items with destination number, contact ID, campaign name and originating journey, using an offset cursor. Used for incremental collection into a reporting store.
- Get Contact SMS History Retrieves every SMS sent to one contact with the campaign name and originating journey. Combined with Get Contact Email History it assembles a complete cross-channel timeline for a person.
Web Activity
2- Get Web Activity Retrieves tracked website visits across the account including page URL, timestamp, referrer, browser, device type, IP address and whether the page is flagged as a goal or high-value URL, using an offset cursor. Used to feed lead scoring on a schedule.
- Get Contact Web Activity Retrieves the tracked visits of one identified contact with goal and high-value flags. The per-person view of browsing behavior, and the usual input for deciding when a lead is warm enough to pass to sales.
Preferences
1- Get Subscription Preferences Retrieves the subscription preference options configured on the account, each with its benefit text, image and whether it appears on the unsubscribe page. Used to render a preference center outside Force24 that stays aligned with the platform.
Tags
2- Get Tags By Scope Retrieves every tag defined for a scope such as campaigns, marketing lists, microsites or email templates. Used to resolve tag IDs for filtering audiences.
- Get Tags By Name Retrieves all tags matching a name across every scope, returning each occurrence with its own ID and scope. Used when the same label has been applied to more than one kind of object and the flow needs the right one.
Frequently Asked Questions
What can FlowRunner do with Force24?
FlowRunner agents can run Get Marketing Lists, Get Marketing List, and Create Marketing List in Force24, plus 35 more actions.
Does connecting Force24 to FlowRunner require OAuth?
Force24 uses a custom authentication method to connect to FlowRunner.
Can Force24 trigger a FlowRunner workflow automatically?
Force24 doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Force24
$100 in credits. No card required. Connect in minutes.