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. Also reports onboarding next steps, with a link, when the plan or LinkedIn connection is not set up yet. With email access, also reports mailbox health and email outreach (sent, queued, failed, bounces, replies).

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 lead's LinkedIn and email outreach: contact dates, acceptance, and queued actions. Find it by LinkedIn profile, lead_id, or email. The email block lists its addresses, the last emails sent and received, and scheduled emails. 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.

Write

Import or update leads

leads_import

Import new leads or update and enrich existing contacts (up to 1000 per call). Use this tool to add an email address to an existing LinkedIn lead: provide its linkedin_url and email. Matches existing emails first, then LinkedIn profiles; names alone do not match leads. Fills missing profile fields, preserves existing values, and adds tags. Saves contact data only; sends no messages.

Read

LinkedIn profile lookup

linkedin_lookup_profile

Fetch one linkedin member profile from a handle, id, or URL. Reads experience and education by default; set sections to basic or full to read less or more. 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.

Write

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.

Read

Email accounts

email_accounts

List the email mailboxes connected to this workspace with their status, daily limits, warmup, working hours, and recent sending volume. When no mailbox can send, onboarding.connect_url links to the page where the user connects one.

Write

Send email

email_send

Send a personal 1:1 email from the user's own connected mailbox, as a new thread or a reply. A single email goes out immediately within the mailbox daily limit. Several emails from one mailbox in a short time need queue: true; queued sends are spaced out by warmup and working hours and report scheduled_for. A reply on any channel cancels outreach queued before it unless stop_on_reply is false. Files can be attached. Not for newsletters or bulk email.

Read

Email threads

email_threads

Read the email threads, known addresses, and scheduled email sends of one lead from the mailboxes you can access.

Read

Email conversations

email_conversations

List and search email conversations with leads across the mailboxes you can read, newest first. Filter by needs_reply (the lead wrote last), awaiting_reply, mailbox, date, or text in subjects, bodies, senders and lead names.

Read

Email messages

email_messages

Read one email thread page by page from the newest message, with the full message text. Continue with next_cursor to load older messages; order only sorts messages within a page.

Read

Email attachment

email_attachment

Read one file attached to an email: name, type, size and a download link valid for 15 minutes. Text and CSV files include their text; include_content returns the bytes as base64 for files up to 3 MB.

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. Large networks run in the background: poll scrape_result_page with the returned result_id.

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
}

Email tools

Email tools need the email permission on your MCP connection and a connected mailbox.

  • email_accounts: mailboxes, daily capacity, warmup, and the connection link when none can send.
  • email_send: one personal email or a reply. A single email is sent immediately; batches are queued.
  • email_conversations: conversations with leads across your mailboxes, with needs_reply and full-text search.
  • email_messages: one thread page by page, with the full message text.
  • email_threads: every email thread and scheduled send of one lead.
  • email_attachment: one file attached to an email, with its download link; text and CSV files include their text.

email_send accepts up to 5 attachments (15 MB combined): an attachment_id from email_messages to forward a received file, a public HTTPS url, or content_base64. Received files are kept for 90 days, and files above 15 MB keep their name and size only.