LinkedIn invite then message
linkedin_invite_then_messageSend 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.
linkedin:accesssalestouch:useRequirements
Example
Invite https://www.linkedin.com/in/example, then send “Thanks for connecting.” after acceptance.
{
"linkedin_url": "https://www.linkedin.com/in/example",
"invite_message": "Would love to connect.",
"follow_up_message": "Thanks for connecting."
}{
"content": [
{
"type": "text",
"text": "{\n \"data\": { ... },\n \"meta\": null\n}"
}
],
"isError": false
}Expected: Invitation state plus the persisted follow-up identifier.
Parameters
account_idstringConnected SalesTouch account id, username, email, handle, or account URL.
identifierrequiredstringLinkedIn member handle, public id, account id, or profile URL.
queuebooleanSet true to queue this action when it cannot run now.
scheduled_forstringFuture ISO 8601 datetime with timezone. The action will never run before this time and queueing is implicit.
invite_messagestringOptional invitation note.
follow_up_messagestringMessage to send once the invitation is accepted. Required unless follow_up_attachments are provided.
follow_up_attachmentsarrayNative 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_keystringStable key for the attachment follow-up. Identical attachment follow-ups are deduplicated by default.
retry_invitationbooleanExplicit 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_scopeReconnect the MCP and approve the requested LinkedIn permission.
paid_plan_requiredFollow 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_requiredRetry 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_longKeep the note under 300 characters (200 on free seats), or call retry_tool with retry_with to send it without a note.
invitation_note_unavailableThe seat's personalized invitations are used up. Call retry_tool with retry_with to send the invitation without a note.
invitation_limit_reachedThe seat hit LinkedIn's weekly invitation limit. Stop inviting from it for several days; queue or schedule invitations instead.
invitation_already_pendingAn invitation was already sent. Check lead_status; do not send another.
invitation_requires_emailThe member only accepts invitations from people who know their email. Reach them another way.