blacklist_add
Write Exclude prospects by profile URL, company URL, keyword, job title or email. KEYWORD and JOB_TITLE match as substrings against the profile, so keep them specific — “director” would exclude a very large slice of a search. Account-wide and lasting — it is not a way to skip one prospect in one campaign, which islead_update with isExcluded. For a list of rules at once use blacklist_add_bulk. There is no tool to delete a rule.
Parameters
string
required
LinkedIn account id, from
linkedin_account_list.PROFILE_URL | COMPANY_URL | KEYWORD | JOB_TITLE | EMAIL
required
Filter by type.
string
required
The value to match — a URL, an email, or a substring for KEYWORD / JOB_TITLE.
blacklist_add_bulk
Write Add many exclusion rules at once — a competitor domain list, or an opt-out export. Same effect asblacklist_add, one call. Rules cannot be removed afterwards by any tool, so review the list with the user before loading it.
Parameters
string
required
LinkedIn account id, from
linkedin_account_list.object[]
required
The rows to add.
blacklist_copy
Write Clone every exclusion rule from one LinkedIn account onto another. Adds to the destination rather than replacing it, and there is no tool to remove rules afterwards — read the destination withblacklist_list first so the user knows what the result will be.
Parameters
string
required
Source account.
string
required
Destination account.
blacklist_export
Write Generate a CSV of every exclusion rule on an account. A file for the user. To read the rules in the conversation useblacklist_list.
Parameters
string
required
LinkedIn account id, from
linkedin_account_list.blacklist_list
Read-only Exclusion rules for a LinkedIn account. Matching prospects are filtered out before they ever enter a campaign. Per LinkedIn account, not per campaign, so a rule here affects every campaign on that account. Read it when a search returns fewer leads than expected. Excluding one lead from one campaign instead islead_update with isExcluded.
Parameters
string
LinkedIn account id, from
linkedin_account_list.integer (min 1)
default:"1"
1-indexed page number.
integer (1–200)
default:"50"
Rows per page.
holiday_add
Write Stop all outreach on a given date across every campaign. Every campaign on the account, not one — there is no per-campaign holiday. To stop a single campaign there is no tool at all, and to stop one lead uselead_update. Reversible with holiday_delete.
Parameters
string | number
required
The date, as epoch milliseconds or ISO 8601.
holiday_delete
Write Destructive Remove a blocked date so campaigns send on it again. Removes the block only; it does not resend anything that was skipped while the date was blocked — those sends are gone, not deferred. Checkholiday_list first so the user knows which date is being unblocked.
Parameters
string
required
Blocked-date id, from
holiday_list.holiday_list
Read-only Dates on which no campaign sends anything — public holidays and company shutdowns. Account-wide pauses by date. Read this when a user asks why nothing sent on a particular day. The weekly sending window and timezone are per campaign instead, incampaign_update.
No parameters.
hyperise_images
Read-only Personalised-image templates from a connected Hyperise account, for use in email and message copy. Passsync: true to re-pull from Hyperise first. Read-only listing. Hyperise itself is connected in the web app under Settings - Integrations, and the image is used by referencing it in copy you pass to flow_set.
Parameters
boolean
default:"false"
Re-pull from the upstream service before returning.
placeholder_add
Write Define a merge field with a default value, usable as {{key}} in any campaign copy. The default is used when a lead has no value of its own, so a sensible default is what stops a message reading oddly. This defines the field for the whole account; it does not set any lead’s value, which islead_update. There is no tool to delete a placeholder.
Parameters
string
required
Token name, without braces.
string
Fallback value when a lead has none.
placeholder_list
Read-only Team-defined merge fields available in campaign copy, on top of the built-ins (firstName, lastName, designation, location, companyName, industry, senderName, signature). Check this before writing copy that uses a {{key}} the user mentions — a placeholder that does not exist renders empty rather than failing, which is how a message goes out with a hole in it. Per-lead values are set on the lead bylead_update, not here.
Parameters
integer (min 1)
default:"1"
1-indexed page number.
tag_create
Write Create a tag. Theinterest value decides which bucket it feeds in reply-sentiment analytics. Two different jobs use tags: reply classification (Interested, Not Interested, Replied — reused across campaigns), and identifying one campaign’s leads in campaign_update. For the second, create a short campaign-specific tag with interest: "NEUTRAL" rather than reusing an existing one.
Parameters
string
required
Tag label, kept short. For reply classification, something like “Booked a call”. For a campaign tag, a shortened form of that campaign’s own name — ask the user what to call it rather than inventing one.
POSITIVE | NEGATIVE | NEUTRAL
required
POSITIVE, NEGATIVE or NEUTRAL.
tag_list
Read-only Tags used to classify leads and replies. Each carries aninterest of POSITIVE, NEGATIVE or NEUTRAL, which drives reply-sentiment reporting. Tag ids are what ASSIGN_TAG steps reference. Tags do two unrelated jobs and conflating them causes real damage. The reusable ones listed here — Interested, Not Interested, Replied, Meeting Booked, Deal, Maybe — classify replies and are shared across campaigns. A campaign’s own tag, set via campaign_update, instead identifies that campaign’s leads and must be unique to it: two campaigns sharing one tag cannot have their leads told apart, here or in lead_list. So never pass a tag from this list as a campaign tag — mint a short campaign-specific one with tag_create (interest: "NEUTRAL").
Parameters
string
Sub-account owner id. Omit to act on your own data.
tag_update
Write Rename a tag or change its sentiment classification. It edits the tag everywhere at once, including on leads already carrying it and in past reply-sentiment reporting — so changinginterest rewrites history, it does not reclassify going forward only. To tag a lead use lead_update; to set a campaign’s own tag use campaign_update. There is no tool to delete a tag.
Parameters
string
required
Tag id, from
tag_list.string
Body text.
POSITIVE | NEGATIVE | NEUTRAL
Sentiment bucket this tag feeds in reply analytics.
template_get
Read-only Full body and subject of one saved template, so you can paste it into a sequence step or adapt it for a new campaign. Returns text. Nothing is applied to a campaign until you pass it toflow_set (any step) or sequence_update (copy on a running campaign).
Parameters
string
required
Template id, from
template_list.template_list
Read-only Saved copy your team reuses across campaigns. Paste the body into a step when authoring a sequence. Snippets of copy, not sequence shapes: the prebuilt multi-step sequencesflow_from_template applies are a different library, matched by name there. These do not attach to a campaign by themselves — read one with template_get and pass the text to flow_set.
No parameters.
template_upsert
Write Destructive Save reusable copy. PasstemplateId to update an existing template rather than create a new one. A snippet in the library, nothing more: saving it does not put it in any campaign, which is flow_set, and it is not one of the prebuilt sequence shapes flow_from_template applies. Updating replaces the body, so read it with template_get first if you do not already have the full text.
Parameters
string
Template id, from
template_list.string
required
Short label.
string
required
Body. Supports {{firstName}}-style merge fields.
string
For email and InMail templates.
boolean
InMail templates: allow spending InMail credits.
string[]
Restrict to these team member ids. Field name is spelled this way in the schema.
