SalesTouch Docs
All MCP tools
Writes to LinkedInLinkedIn

LinkedIn invite then message

linkedin_invite_then_message

Send an invitation now and automatically send one follow-up message after the member accepts.

When to use it

Invite a member now and automatically send one follow-up after acceptance.

Required scopes
linkedin:accesssalestouch:use
Execution
Synchronous MCP tool call

Requirements

Provide one member target: identifier, recipient, linkedin_url, profile_url, or handle.
Provide follow-up content using follow_up_message, follow_up_text, message, or text.
Optional follow_up_attachments uses durable uploaded attachment_id, content_base64, or a public HTTPS url. At most 5 files and 60 MB combined; inline content_base64 is limited to 3 MB per request, so send larger files by url or attachment_id. HTML/local paths are unsupported. Files wait for acceptance for up to 90 days.
Set retry_invitation only after the user explicitly asks to replace an existing pending invitation workflow.

Example

Ask your agent

Invite https://www.linkedin.com/in/example, then send “Thanks for connecting.” after acceptance.

Tool arguments
{
  "linkedin_url": "https://www.linkedin.com/in/example",
  "invite_message": "Would love to connect.",
  "follow_up_message": "Thanks for connecting."
}
MCP response envelope
{
  "content": [
    {
      "type": "text",
      "text": "{\n  \"data\": { ... },\n  \"meta\": null\n}"
    }
  ],
  "isError": false
}

Expected: Invitation state plus the persisted follow-up identifier.

Parameters

account_id
string

Connected SalesTouch account id, username, email, handle, or account URL.

identifierrequired
string

LinkedIn member handle, public id, account id, or profile URL.

queue
boolean

Set true to queue this action when it cannot run now.

scheduled_for
string

Future ISO 8601 datetime with timezone. The action will never run before this time and queueing is implicit.

invite_message
string

Optional invitation note.

follow_up_message
string

Message to send once the invitation is accepted. Required unless follow_up_attachments are provided.

follow_up_attachments
array

Native message files, at most 5 and 60 MB combined. Use an uploaded attachment_id, a public HTTPS URL, or base64 bytes; inline base64 is limited to 3 MB per request, so send larger files by url or attachment_id. Local paths and HTML are unsupported. Upload selected local files through /api/linkedin/attachments in the app, then pass their attachment_id.

idempotency_key
string

Stable key for the attachment follow-up. Identical attachment follow-ups are deduplicated by default.

retry_invitation
boolean

Explicit user authorization for another attempt after a confirmed send. Never overrides uncertain outcomes or the stored 3-week cooldown; no full invitation scan.

Aliases are shown independently because MCP clients send a flat JSON object. Use one alias from each required group, not every alias.

Common errors

insufficient_scope

Reconnect the MCP and approve the requested LinkedIn permission.

paid_plan_required

Follow the error's action_url: start the free trial, choose a plan after a trial or subscription ended, or update the payment method after a failed payment. details.reason names which one.

trial_payment_method_required

Retry after a minute if checkout was just completed; otherwise add a payment method in SalesTouch billing to activate the trial and LinkedIn MCP access.

invitation_note_too_long

Keep the note under 300 characters (200 on free seats), or call retry_tool with retry_with to send it without a note.

invitation_note_unavailable

The seat's personalized invitations are used up. Call retry_tool with retry_with to send the invitation without a note.

invitation_limit_reached

The seat hit LinkedIn's weekly invitation limit. Stop inviting from it for several days; queue or schedule invitations instead.

invitation_already_pending

An invitation was already sent. Check lead_status; do not send another.

invitation_requires_email

The member only accepts invitations from people who know their email. Reach them another way.