Back to Help Center

Sending messages to connections

Use send_message to message your 1st-degree connections. Two ways to target it:

  • chat_id sends into an existing conversation (get it from list_conversations)
  • provider_id starts a brand new conversation with a connection

Messages support text up to 8,000 characters, file and image attachments (up to 10MB each, .mp4 video capped at 5MB), and native voice notes via voice_note_url that render as a playable waveform in the recipient's inbox. Pass a campaign_id to attribute the message to a campaign.

Sends are protected by a daily messaging limit of 150 by default, shared with InMail and voice notes, resetting at midnight UTC. Anyone on your block list is refused with a blacklisted error before anything is sent.

People outside your network

send_message only works on existing connections. For everyone else, use send_inmail if your account has InMail credits (Premium, Sales Navigator, or Recruiter). InMail takes the recipient as a provider ID, slug, or URL, a body up to 1,900 characters, and an optional subject up to 200 characters. Check get_inmail_balance first so you never burn a send attempt on an empty balance. The alternative path is send_invitation first, then message after they accept.

Common mistakes: - Messaging a 2nd-degree contact and getting an error. Check crispy_context in search results (the is_connection field) before choosing message vs. invitation. - Sending near-identical text to many people in a row. Vary your copy, repeated identical messages are a known automation tell.

Pro tip: before drafting, pull the thread with get_messages so your agent replies with full context, and check the their_turn flag in list_conversations to prioritize people actually waiting on you.

Still stuck? Email [email protected] or browse answered questions.