FlowRunner
PricingContact
Theme
Start Free

MyPreferences

Identity & Security

Connect AI agents to MyPreferences by PossibleNOW, an enterprise consent and preference management platform. Agents add, deactivate, and permanently merge a customer's communication preferences, and read the programs, segments, and distribution lists those preferences belong to.

21 actions Custom auth available
A campaign is staged in the sending platform and the audience is resolved
Agent pulls each recipient's email address, phone number, and customer identifier from the audience
Agent runs Get Email Preferences and Get SMS Preferences per contact element to read current status
Agent confirms each recipient holds an active preference for the specific program the send belongs to
Recipients without an active preference for that program are removed from the audience before it is handed back
Marketing owner receives the suppressed count with the program and channel that caused each removal
Any identity merge that would consolidate two customers' consent records goes to the consent owner first

What This Integration Enables

Read the action list and the product's position becomes obvious. Of twenty one operations, eighteen are reads and three are writes. MyPreferences is a system of record for consent, and a system of record earns that name by being difficult to change casually. Agents read a customer's preferences by contact element: Get Email Preferences, Get Phone Preferences, Get SMS Preferences, and Get Fax Preferences each return every preference record tied to that value, with the program, channel, source, filter, and status on each. Get Customer Preferences by CID does the same across channels for a known customer identifier. Agents read the program catalog that gives those preferences meaning, since a status only means something relative to a program: Get Programs, Get Program, and Get Programs by Type return the subscriptions and communication types customers can express preferences about, and Get Program Groups and Get Program Group return the hierarchy those programs sit in. Configuration reads cover Get Preference Attributes, Get Frequencies, Get Locales, Get Distribution Lists, Get Source Groups, and Get Users. Get Segments and Get Segment return the data export segments that define preference extract criteria.

The three writes are where the care goes. Add Preferences records one or more preferences in a single request, each associating a contact element and identity with a program, channel, source, filter, frequency, and status, and it accepts an array so a batch of opt-ins or opt-outs can be submitted at once. Deactivate Preference withdraws an existing preference for a given channel, filter, and contact element, which is the correct way to retract a record rather than layering a contradicting one on top. Merge Preferences consolidates the preferences of two or more identity keys under a single survivor key. Everything else in this connector reads. Programs, program groups, configuration, and segments are read only here, so this is not the surface on which you restructure the preference center.

The connector exposes no triggers. Nothing in MyPreferences starts a FlowRunner flow and there is no event subscription, which means consent is checked at the moment it matters rather than synced on a timer and hoped to be current. Authentication uses PossibleNOW's proprietary request signing, where each call carries a signature computed locally from your Client ID, User ID, and API Hash Key with a timestamp valid for a limited window. The hash key is used to sign and is never transmitted.

Without FlowRunner

Consent read from the sending tool Suppression lives in whichever platform sent the last campaign
Opt-outs recorded per channel silo Someone unsubscribes by email and still receives the SMS version of the same program
Duplicate records reconciled by hand Two records for one person carry two different answers and the newer one wins by accident

With FlowRunner

Consent read from the system of record Every send checks MyPreferences before the audience is finalized, whatever tool sends it
Preferences resolved per program and channel A recipient's status is read against the program the message actually belongs to
Merges treated as consequential Consolidating identities is a reviewed decision, not a deduplication side effect

Use Case Scenarios

Consent Check Before the Send

A campaign is staged in Klaviyo or Braze and the audience has resolved. Before the send is released, the agent walks the audience and calls Get Email Preferences or Get SMS Preferences on each contact element, then checks the returned records against the specific program this campaign belongs to rather than against a global unsubscribe flag. Recipients whose preference for that program is not active are removed from the audience. The agent reports the suppressed count with the program and channel that caused each removal, so the marketing owner sees why the audience shrank instead of wondering. The sending tool stays the sending tool. The answer about whether you may contact someone comes from the place that holds it.

Recording a Preference Captured Elsewhere

A customer updates their communication choices in a service portal, a call center screen, or a paper form processed at intake. The agent reads Get Programs and Get Frequencies to resolve what the customer chose into the program, channel, filter, and frequency values the platform expects, then submits the result with Add Preferences, including the source so the record shows where the choice came from. When a customer withdraws a choice rather than changing it, the agent uses Deactivate Preference against the specific channel, filter, and contact element instead of writing a contradicting opt-out record. The preference history stays readable, which is the whole point of keeping it centrally.

Preparing an Extract for a Downstream System

An analytics or Salesforce sync needs current preference data. The agent runs Get Segments to list the configured data export segments, then Get Segment by name to read that segment's search group steps and channel configuration, so the flow knows exactly what criteria the extract represents before it moves any data. It pulls the resulting preference data and hands it downstream with the segment definition attached. The receiving system gets both the rows and the meaning of the rows, which is what stops a suppression list from being applied to the wrong program six months later.

Human-in-Loop Highlight

Merge Preferences is the one call in this connector that cannot be walked back. It consolidates the preferences of two or more identity keys into a single survivor key, and there is no unmerge action anywhere on this surface. When the two keys really are one person, that is exactly what you want. When they are not, and near duplicate records on common names and shared household addresses are the reason merging exists in the first place, the outcome is one of two bad ones: a consent that nobody gave is now attached to a person you may then contact, or an opt-out that somebody did give has been absorbed into a survivor record that no longer carries it. Neither shows up as an error. Both show up later as a complaint. So the agent prepares the merge and stops. It reads both sides first with Get Customer Preferences by CID and the relevant channel reads, and posts to the consent owner: "Merge candidate. Key [a] holds [n] active preferences including [program, channel, status]. Key [b] holds [n] including [program, channel, status]. They conflict on [program]. Proposed survivor: [key]. This cannot be reversed. Merge, keep separate, or investigate?" The owner decides which identity survives and which record of a person's stated wishes becomes the one you act on. Reads run constantly and freely, opt-in capture through Add Preferences runs on the source system's own evidence, and the permanent consolidation of two people's consent waits for a human. That is human-in-the-loop sitting on the single decision in this connector that no audit can undo.

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

21 actions

Reading Customer Preferences

5
  • Get Email Preferences Retrieves all preference records tied to the specified email address, including program, channel, source, filter and status details for each preference. Used as the consent check before an email send.
  • Get Phone Preferences Retrieves all preference records tied to the specified phone number, including program, channel, source, filter and status details for each preference.
  • Get SMS Preferences Retrieves all preference records tied to the specified mobile or SMS number, including program, channel, source, filter and status details for each preference. Used before any text message send.
  • Get Fax Preferences Retrieves all preference records tied to the specified fax number, including program, channel, source, filter and status details for each preference.
  • Get Customer Preferences by CID Retrieves the preferences of a customer identified by their Customer ID across one or more contact channels. Used when the flow knows the customer rather than a single contact element.

Recording and Changing Preferences

3
  • Add Preferences Records one or more preferences in a single request. Each preference item associates a contact element such as an email, phone, or mailing address and an identity with a program, channel, source, filter, frequency and status. Accepts an array so multiple opt-in or opt-out records can be submitted at once.
  • Deactivate Preference Deactivates an existing preference for a given channel, filter and contact element. Used to withdraw a previously recorded preference rather than layering a contradicting opt-out record on top of it.
  • Merge Preferences Merges the preferences of two or more identity keys into a single survivor key, consolidating duplicate customer records so their preferences are unified under one identity. There is no reverse operation, so this is routed to a named consent owner before it runs.

Programs

3
  • Get Programs Retrieves all programs configured for the client. Programs represent the subscriptions or communication types customers can express preferences for, and they are what a preference status is measured against.
  • Get Program Retrieves a single program by its identifier, including its channels, filters, custom properties and localized display text.
  • Get Programs by Type Retrieves all programs of a specified program type for the client.

Program Groups

2
  • Get Program Groups Retrieves all program groups configured for the client. Program groups organize related programs into a hierarchy for display and management.
  • Get Program Group Retrieves a single program group by its identifier, including its nested program groups, programs and localized display text.

Configuration

6
  • Get Preference Attributes Retrieves all preference attributes configured for the client. Preference attributes are the custom fields that can be captured alongside a preference.
  • Get Frequencies Retrieves all frequency options configured for the client, such as how often a customer wishes to be contacted for a given program. Used to resolve a captured choice into a valid value before recording it.
  • Get Locales Retrieves all locales configured for the client. Locales drive the localized display text used across programs, program groups and filters.
  • Get Distribution Lists Retrieves all distribution lists configured for the client.
  • Get Source Groups Retrieves all source groups configured for the client. Sources identify where a recorded preference originated, which is what makes a preference defensible after the fact.
  • Get Users Retrieves all users configured for the client. These are the MyPreferences agent users, one of which is required as the User ID for request authentication.

Data Export

2
  • Get Segments Retrieves all data export segments configured for the client. Segments define the search criteria used to build preference data exports.
  • Get Segment Retrieves a single data export segment by name, including its search group steps and channel configuration, so a flow can attach the meaning of an extract to the extract itself.

Frequently Asked Questions

What can FlowRunner do with MyPreferences?

FlowRunner agents can run Get Email Preferences, Get Phone Preferences, and Get SMS Preferences in MyPreferences, plus 18 more actions.

Does connecting MyPreferences to FlowRunner require OAuth?

MyPreferences uses a custom authentication method to connect to FlowRunner.

Can MyPreferences trigger a FlowRunner workflow automatically?

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

Start building with MyPreferences

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