LinkedIn Matched Audiences
AdvertisingUpload first-party audiences to LinkedIn Ads through the official DMP Segments API, creating segments and streaming hashed identifiers. Agents keep ad audiences synchronized with the CRM rather than with last quarter's export.
What This Integration Enables
Your customer list is the most valuable targeting asset you own and the one you are least entitled to be careless with, and this connector is built around that tension. LinkedIn's DMP Segments API will not accept a raw email address: identifiers must be lowercased, whitespace-stripped and SHA256 or SHA512 hashed before they leave your systems, so the platform can match a person it already knows without you handing over a readable list. That hashing is a real control and it is worth understanding what it is not. It protects the identifiers in transit and at rest on the other side; it does not decide who belonged in the audience in the first place. Deciding that is the part that carries the risk, and it is the part FlowRunner puts a person on. Agents create streaming or list-upload segments against an ad account, push and pull membership in batches of up to 5,000 with adds and removals mixed in one request, attach CSV list uploads through a single-use URL, and read back input counts and destination status so a campaign is never pointed at a segment that has not finished building. Note the gating: this connector requires an approved LinkedIn app with admission to the Marketing Developer Platform and, separately, to the Audiences program, since the rw_dmp_segments scope is not granted automatically with Marketing API access.
Without FlowRunner
With FlowRunner
Use Case Scenarios
An account list that matches what sales is actually working
The target account list lives in Salesforce and it moves every week as accounts are added, disqualified or closed. A nightly flow queries the current list, creates a Streaming Companies segment on the ad account if one does not exist, and calls Batch Add Or Remove Users with the company identifiers, sending every field it holds to raise the match rate. Accounts that dropped out of the target list this week ride along in the same batch as removals. Get Segment confirms the destination reached READY and the input count moved the direction it should. The campaign spends against the account list sales is working today, not the one that was current when the segment was built.
Suppressing the people you already have
Acquisition budget spent on existing customers is the most reliably wasted line in a paid media plan. The agent pulls current customers and open opportunities from the CRM, hashes their identifiers, and streams them as removals against the prospecting segment while adding net-new contacts in the same call. Because the batch response returns a per-element status, a 201 for accepted and a 400 with a batchIndex for rejected, the removals that did not land are visible rather than assumed. Rejected removals are the ones that matter, since a failed removal leaves a person targetable, and the flow escalates them rather than logging them and moving on. Once the audience is right, LinkedIn Offline Conversions closes the other half of the loop by reporting which of those targeted accounts actually became revenue.
A conference list arrives as a spreadsheet
An event partner sends over a delegate list. The agent calls Generate Upload URL, POSTs the UTF-8 CSV to the returned single-use URL with the same bearer token, reads the media URN from the Location header, and calls Attach List To Segment against a segment created with a List Upload type and the CSV List Upload source platform. Processing takes up to 48 hours, and Get Segment List Uploads confirms it landed. This is also the scenario where a person is not optional: a list you did not collect yourself carries a consent basis you cannot verify from the file, and the flow stops for someone to confirm the partner's permission before the upload runs at all.
Human-in-Loop Highlight
The gate sits before the first push into a new segment, because Batch Add Or Remove Users is the point where identifiers derived from your customer records leave your control, and there is no operation on this connector that makes that unhappen. Delete Segment is not the undo people assume it is: LinkedIn refuses the deletion while an active campaign is using the adSegment, so removing an audience is a scheduling problem, not a click. So the agent builds the membership, applies every filter, and then stops with the arithmetic in front of the audience owner in Slack: "Segment ABM Q3 Target Accounts is built and empty. 8,412 contacts qualify. Excluded: 1,190 with no marketing consent recorded, 604 in regions outside the campaign's approved list, 97 flagged do not contact, 42 with no hashable identifier. Push the 8,412?" The owner answers, and only then does the first batch stream. Hashing means LinkedIn never sees a readable address. It does not mean an audience built on a filter that silently stopped working is any less of a problem, which is why the person who owns the consent rules sees the counts before the upload, not in a post-mortem. That is the human-in-the-loop default FlowRunner applies to any write that puts customer data into a third-party system.
Agent Capabilities
14 actionsSegments
7- Create Segment Creates an empty DMP segment on an ad account. A segment is a staging entity: identifiers get pushed into it, LinkedIn maps them to member profiles or company pages, and the resulting adSegment URN becomes targetable. Choose Streaming Users or Streaming Companies with a Direct, Agency or Partner source platform to push via the API, or a List Upload type with the CSV List Upload source platform to attach a file. An account is capped at 1,000 segments.
- Get Segment Retrieves one segment by id with its name, type, source platform, owning ad account, input count and destinations. Once a destination reaches READY the destinationSegmentId holds the adSegment URN that campaigns target. Used as the readiness check before a campaign is allowed to spend.
- Get Segments Fetches several segments in one request by id. The call always returns HTTP 200, with valid ids under results and invalid ones simply absent, so a partially bad batch still returns the good records instead of failing outright.
- Find Segments By Account Lists the segments belonging to an ad account, paginated with start and count. Narrow by source platform or by your own source segment id, which is how an external system looks up a segment using the key it stored at creation.
- Update Segment Applies a partial update to a segment. Only name, description and source segment id can change; account, type and source platform are fixed at creation. Sent as a Rest.li partial update, so fields left empty are untouched.
- Delete Segment Permanently deletes a segment along with its destinations, the corresponding adSegment and any attached list upload. The caller needs write access to the owning ad account. Deletion is refused while the adSegment is in use by an active campaign, and it frees capacity against the 1,000-segment limit.
- Batch Delete Segments Deletes several segments in one request, all of which must belong to the same ad account. The response reports the outcome per segment, so a batch where some deletions are refused still removes the rest. Used for retiring a campaign generation's worth of segments at once.
Segment Membership
2- Add Or Remove User Adds one contact to a streaming segment or removes it again. Send every identifier you hold to raise the match rate. Email addresses must be lowercased, whitespace-stripped and SHA256 or SHA512 hashed before sending, since raw addresses are rejected. A request needs at least one valid identifier, or a first and last name. Wait five seconds after creating a segment before pushing users. Used for single-record corrections such as honoring one opt-out without waiting for the next full run.
- Batch Add Or Remove Users Streams up to 5,000 contacts into a segment, or removes them, in one request. Each element carries its own action and identifiers, so adds and removals mix freely. The response returns a per-element status, 201 for accepted and 400 with a batchIndex for rejected, which makes partial failures visible. The endpoint is limited to 600 requests per member per minute.
List Uploads
4- Generate Upload URL Returns a single-use LinkedIn URL to POST a CSV list file to. Upload with the same bearer token, read the media URN from the response Location header, then attach it. Account lists need at least one of companyname, companydomain, companywebsite or linkedincompanypageurl; contact lists need email, googleaid, googleuid, or first and last name. Files must be UTF-8 CSV and no larger than 300,000 rows.
- Attach List To Segment Associates an uploaded CSV with a list-upload segment using the media URN returned by the upload. A segment holds only one list upload, and it must have been created with a List Upload type and the CSV List Upload source platform. Allow five seconds after creating the segment. Processing takes up to 48 hours.
- Get Segment List Uploads Returns the list upload attached to a segment. The response is an array for consistency but a segment holds only one upload, so at most one element comes back. Used to confirm an attach actually took before anyone waits 48 hours on nothing.
- Get List Upload Retrieves a single list upload by id, returning the segment it belongs to, the media URN of the source file and its creation and modification timestamps.
Ad Accounts
1- Find Ad Accounts Lists the sponsored ad accounts the connected member can reach with each account's id, name, type and status. Used to resolve the sponsoredAccount URN every segment must be created against, and to page through large agency portfolios.
Frequently Asked Questions
What can FlowRunner do with LinkedIn Matched Audiences?
FlowRunner agents can run Create Segment, Get Segment, and Get Segments in LinkedIn Matched Audiences, plus 11 more actions.
Does connecting LinkedIn Matched Audiences to FlowRunner require OAuth?
Yes. LinkedIn Matched Audiences connects to FlowRunner with OAuth 2.0, so agents authenticate without handling raw credentials.
Can LinkedIn Matched Audiences trigger a FlowRunner workflow automatically?
LinkedIn Matched Audiences doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with LinkedIn Matched Audiences
$100 in credits. No card required. Connect in minutes.