Using the block list (do-not-contact)
The block list is your do-not-contact safety net. Anyone on it is protected from every outbound path:
- Campaigns skip them automatically.
- Direct sends are refused:
send_message,send_invitation,send_inmail, andsend_voice_messageall return ablacklistederror instead of sending. - Search results flag them: each
search_peopleresult carries ablacklistedfield insidecrispy_context, so your agent sees the flag before it even considers outreach.
Managing the list:
add_to_block_listadds one person by LinkedIn URL or slug, with an optionalreason. It's idempotent, re-blocking someone already blocked is harmless.remove_from_block_listtakes someone off.check_block_listchecks one profile, or lists every blocked entry when called without a profile (100 by default, up to 500).import_block_listbulk-loads up to 5,000 entries per call, as plain URL strings or objects with a linkedin_url and reason. Invalid and duplicate URLs are skipped automatically, so a partial list still imports cleanly.
Legacy tool names still work if you have older automations: add_to_blacklist, remove_from_blacklist, list_blacklist, and import_data with target 'blacklist'.
Who belongs on it: current customers, active deals owned by teammates, competitors, partners, and anyone who has asked not to be contacted. Log the reason when you add people, future-you will want to know why a name is there.
Common mistake: building the block list after the first campaign instead of before. Import your exclusions first, then launch. preview_campaign_launch shows block list hits per campaign, use it as the final check.
Pro tip: honor opt-outs by adding the person the moment they ask, with reason 'opt-out request'. It takes one tool call and guarantees no future campaign or agent session ever contacts them again.