SalesTouch Docs

MCP tool reference

Search the current SalesTouch MCP catalog and open a human-readable reference for every tool.

The catalog below is built from the same definitions returned to MCP clients during tool discovery. Each reference page adds human requirements, prompts, examples, response expectations, and recovery guidance.

Read

Status

status

Inspect SalesTouch LinkedIn outreach stats, queue counts, and optional detailed items.

Feedback

Submit feedback

feedback_submit

Proactively call this tool whenever a SalesTouch tool appears broken, behaves unexpectedly, returns a misleading error, or blocks the task, even if the user did not explicitly ask for a bug report. Include the exact tool name, safe reproduction details without secrets, the observed result or error, expected behavior, and impact. Use it also for feature requests or useful general feedback. Submit one ticket per distinct issue, avoid speculative or duplicate reports, and continue the original task after reporting.

Read

LinkedIn accounts

linkedin_accounts

List connected LinkedIn accounts available to this workspace.

Read

LinkedIn inboxes

linkedin_inboxes_list

Discover the LinkedIn Classic, Sales Navigator, and company inbox streams available on connected accounts.

Read

LinkedIn conversations

linkedin_conversations_list

List recent LinkedIn messaging conversations from connected accounts.

Read

LinkedIn conversation search

linkedin_conversations_search

Find LinkedIn messaging conversations by profile identity or local text search.

Read

LinkedIn conversation messages

linkedin_conversations_messages

Read one provider page of messages from a LinkedIn conversation resolved from a chat id or profile target. order controls item presentation within that page only; opaque cursors traverse older pages regardless of order. One page is not the complete history.

Read

LinkedIn feed

linkedin_feed

Read the authenticated LinkedIn feed through a connected account.

Read

Lead status

lead_status

Inspect a linkedin lead's contact dates, acceptance, and queued actions. invitation_status checks one target profile and local send guards without scanning all invitations. pending is confirmed; eligible means profile eligibility, not proof of invitation absence; unknown makes no claim about current invitation state. Previous uncertain sends and cooldown guards block sending. message tracks only the linkedin_invite_then_message follow-up. message.status=none does not mean no direct linkedin_message was sent; check last_contacted_at. queued is local scheduling only.

Read

Search leads

leads_search

Search the workspace lead directory by identity, CRM status, inbox status, tags, source, and message contact dates.

Write

Update lead CRM status

lead_crm_status_update

Set a manual CRM status for a lead or return it to automatic status tracking.

Write

Update lead tags

lead_tags_update

Add or remove simple workspace tags on a lead.

Read

LinkedIn profile lookup

linkedin_lookup_profile

Fetch one linkedin member profile from a handle, id, or URL. Optional invitation_status reuses this profile without a full invitation scan. Invitation sends require no prior status lookup.

Read

LinkedIn company lookup

linkedin_lookup_company

Fetch one LinkedIn company or school profile from a handle, id, or URL.

Read

LinkedIn profile posts

linkedin_lookup_profile_posts

Fetch one resumable page of LinkedIn posts for a member profile, regardless of age.

Read

LinkedIn post lookup

linkedin_lookup_post

Fetch one LinkedIn post and author metadata from a post id, URN, or URL.

Read

LinkedIn job posting lookup

linkedin_lookup_job_posting

Fetch one complete LinkedIn Classic job posting from its id or URL.

Read

LinkedIn search parameters

linkedin_sales_navigator_search_parameters

Discover account-specific v2 parameter ids for LinkedIn Classic or Sales Navigator structured searches. The legacy tool name is preserved for compatibility.

Read

Get Sales Navigator account lists

linkedin_sales_navigator_get_account_lists

Get the account lists available to a connected LinkedIn Sales Navigator account.

Read

Get Sales Navigator lead lists

linkedin_sales_navigator_get_lead_lists

Get the lead lists available to a connected LinkedIn Sales Navigator account.

Read

Browse Sales Navigator account list

linkedin_sales_navigator_browse_account_list

Browse the companies saved in one LinkedIn Sales Navigator account list.

Read

Browse Sales Navigator lead list

linkedin_sales_navigator_browse_lead_list

Browse the people saved in one LinkedIn Sales Navigator lead list.

Write

Add account to Sales Navigator list

linkedin_sales_navigator_add_account_to_list

Add one LinkedIn company to an existing Sales Navigator account list.

Write

Add lead to Sales Navigator list

linkedin_sales_navigator_add_lead_to_list

Add one LinkedIn member to an existing Sales Navigator lead list.

Write

LinkedIn message

linkedin_message

Send a direct LinkedIn message to a member target.

Write

LinkedIn invite

linkedin_invite

Send a linkedin invitation directly after identity resolution and a persistent recipient lock. Known profile ids require no profile preflight or outgoing invitation scan. Handle provider refusals explicitly; a 3-week cooldown is not proof of an already pending invitation. Previous confirmed sends require explicit resend authorization. Uncertain send outcomes block retries.

Write

LinkedIn invite then message

linkedin_invite_then_message

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

Write

LinkedIn like

linkedin_like

Like a LinkedIn post from a connected account.

Write

LinkedIn comment

linkedin_comment

Comment on a LinkedIn post from a connected account.

Write

LinkedIn publish post

linkedin_publish_post

Publish a LinkedIn post from a connected account.

Write

Cancel pending action

queue_cancel

Cancel a queued SalesTouch action or an automatic follow-up waiting for connection acceptance.

Extraction

Scrape LinkedIn people search

scrape_linkedin_people_search

Start a resumable LinkedIn Classic people search from explicit filters or a native search URL.

Extraction

Scrape LinkedIn search URL

scrape_linkedin_search_url

Extract people, companies, posts, or jobs from a native LinkedIn Classic search URL.

Extraction

Scrape LinkedIn companies search

scrape_linkedin_companies_search

Search and extract LinkedIn Classic companies from explicit filters or a native search URL.

Extraction

Scrape LinkedIn posts search

scrape_linkedin_posts_search

Search and extract LinkedIn Classic posts from explicit filters or a native search URL.

Extraction

Scrape LinkedIn jobs search

scrape_linkedin_jobs_search

Search and extract LinkedIn Classic jobs from explicit filters or a native search URL.

Extraction

Scrape LinkedIn connections

scrape_linkedin_connections

Extract the authenticated account's first-degree LinkedIn connections.

Extraction

Scrape Sales Navigator search URL

scrape_sales_navigator_search_url

Extract people or companies from a native Sales Navigator search URL.

Extraction

Search Sales Navigator people

scrape_sales_navigator_people

Search and extract Sales Navigator leads with explicit v2 filters, a saved or recent search, a native URL, or companies from a previous result.

Extraction

Search Sales Navigator companies

scrape_sales_navigator_companies

Search and extract Sales Navigator companies with explicit v2 filters, spotlights, saved or recent searches, or a native URL.

Extraction

Scrape LinkedIn post reactions

scrape_linkedin_post_reactions

Extract people who reacted to a LinkedIn post.

Extraction

Scrape LinkedIn post comments

scrape_linkedin_post_comments

Extract people who wrote root comments on a LinkedIn post, with reply authors available explicitly.

Extraction

Scrape LinkedIn group participants

scrape_linkedin_group_participants

Extract participants from a LinkedIn group.

Extraction

Scrape LinkedIn profile viewers

scrape_linkedin_profile_viewers

Extract people who viewed the authenticated profile.

Extraction

Scrape LinkedIn company page viewers

scrape_linkedin_company_page_viewers

Extract viewers from a company or school page analytics window.

Extraction

Scrape result page

scrape_result_page

Read one stored scrape result page without loading the full export into context.

Read and write permissions are enforced by OAuth scopes at execution time.

Native message attachments

linkedin_message accepts optional attachments. linkedin_invite_then_message accepts follow_up_attachments for the message sent after acceptance. Text stays required. Up to 5 files and 20,000,000 bytes combined per message, with 200 MB of private storage per workspace. PDF, MP4/MOV, PNG/JPG/GIF/BMP, Office documents and TXT/CSV/RTF are validated by extension, MIME type and content. HTML and executable files are unsupported. The provider can reject files that its selected inbox does not support.

For a local file, select it with the paperclip in the SalesTouch inbox. The application uploads chunks of at most 2 MB through the authenticated /api/linkedin/attachments flow, then finalizes the file. Use its attachment_id in an agent message. Clients can start an upload with POST /api/linkedin/attachments and account_id, filename, content_type, size_bytes; send raw chunks with POST /api/linkedin/attachments/{id}, Content-Type: application/octet-stream and Upload-Offset; finalize with PUT on that URL. GET returns status and the received byte offset, and DELETE removes an unused upload. The server never opens a caller-supplied local path.

An agent can alternatively provide content_base64 (canonical base64 without a data URL prefix) or a public HTTPS url, with filename and content_type. URLs use port 443; private and reserved networks, unsafe redirects and downloads exceeding 15 seconds are rejected. All modes persist private file bytes before queueing. Native media previews are the default; send_mode: "file" requests a downloadable file where supported.

queue and scheduled_for retain attachment references with the action. Acceptance follow-ups retain files for up to 90 days after the scheduled invitation; unfinished uploads expire after 24 hours and delivered files after 7 days. Pending queued sends retain their files until delivery. Unknown outcomes retain their diagnostic metadata and block automatic resend.

Reuse idempotency_key when retrying an attachment message. Without a key, identical recipient, text and files are deduplicated. Use a new key only for an intentional new message. Responses include attachment_delivery_id, status and attachment IDs; follow-up responses expose these under follow_up. Inspect delivery status with the authenticated GET /api/linkedin/attachment-deliveries/{id} endpoint. ATTACHMENT_SEND_UNCERTAIN requires checking the conversation before another send. Upload, ownership, content, size and URL errors use explicit attachment error codes.

{
  "identifier": "https://www.linkedin.com/in/example",
  "text": "Here is the brochure we discussed.",
  "attachments": [{"filename": "brochure.pdf", "content_type": "application/pdf", "url": "https://example.com/brochure.pdf"}],
  "idempotency_key": "brochure-prospect-2026-10",
  "queue": true
}