LinkedIn outreach · 12 min · Any AI agent

How to Send a LinkedIn Message with an AI Agent

Let Claude or Codex research, draft, send, schedule, and verify one LinkedIn message. SalesTouch supplies the live LinkedIn tools and returns the real action state.

By Antoine Deschamps

Claude or Codex can research a person, write a relevant LinkedIn message, and adapt it to your goal. SalesTouch gives that AI agent the missing LinkedIn connection: live profile and conversation context, a messaging action, queues, controls, and a verified result.

The practical workflow is simple. Your agent prepares the message, you approve it, SalesTouch sends or queues it through your connected LinkedIn account, and the agent tells you what actually happened.

The fastest way to send one LinkedIn message with AI

You need four things:

  1. A SalesTouch account.
  2. Your LinkedIn account connected inside SalesTouch.
  3. SalesTouch added to Claude, Codex, or another MCP-compatible agent.
  4. The profile URL of a first-degree connection and the message you approve.

Paste this into your agent:

Prompt for your agent
Use SalesTouch to send this approved LinkedIn message.

Recipient: https://www.linkedin.com/in/example/
Message: Thanks for connecting. Are you open to comparing notes next week?

Call linkedin_message. Do not change the recipient or message.
If the message cannot send now and queueing is required, ask me before retrying.
Return whether it was sent, queued, or blocked.

That is enough for the first message. A sent result confirms the action and its timing. A queued result means SalesTouch accepted the message for later execution, not that the recipient has received it yet.

What is SalesTouch, and what does it add?

SalesTouch is the LinkedIn MCP for AI agents. MCP is the connection that lets Claude, Codex, and other compatible agents use external tools from the conversation where you already work.

The responsibilities stay clear:

  1. Claude or Codex understands your goal, researches available context, writes the message, and explains the result.
  2. SalesTouch provides the authenticated LinkedIn tools, executes or queues the approved action, applies your account controls, and returns live state.
  3. Your connected LinkedIn account determines the identity and relationship used for the action.

This separation unlocks more than a send button. The same agent can move from live context to a reviewed message and then to a verified LinkedIn action without browser automation or copying data between tools.

Research

Understand the recipient

Let the agent read the available profile, company, recent posts, or relationship context before it writes.

Draft

Create relevant copy

Claude or Codex turns verified context and your instructions into a message for review.

Execute

Send or schedule

SalesTouch sends the approved message now or persists it for a future time.

Verify

Read the real state

The agent receives a structured sent, queued, connection-required, or failed result from SalesTouch.

Set up SalesTouch once

The setup takes place once, then the same connection can support research, messaging, follow-ups, and other LinkedIn workflows.

  1. Create your SalesTouch account.
  2. Connect the LinkedIn account that should perform the actions.
  3. Add https://www.salestouch.io/api/mcp to your AI client.
  4. Authenticate SalesTouch and open a fresh Claude or Codex conversation.
  5. Ask the agent to confirm that it can see the SalesTouch messaging tools without sending anything.

Use the dedicated Claude setup guide, Codex setup guide, or client-agnostic setup guide for the exact connection steps.

LinkedIn messaging prompts to try

These prompts show the main possibilities of the SalesTouch messaging workflow. Replace the example URL, goal, copy, and timing before using them.

Research the person, draft a message, then wait for approval

Use this when you want Claude or Codex to create the message from live LinkedIn context.

Prompt for your agent
Use SalesTouch to prepare one relevant LinkedIn message for this person:
https://www.linkedin.com/in/example/

First, call linkedin_lookup_profile. Then call linkedin_lookup_profile_posts for
the same profile with a limit of 5. Use only verified professional context
returned by SalesTouch.

Draft one message under 300 characters that connects my goal below with one
specific, relevant fact from the profile or recent posts.

My goal: Start a conversation about practical AI workflows for sales teams.

Show me the fact you used and the proposed message. Do not send anything yet.
Wait for my explicit approval of the exact recipient and copy.

After I approve, call linkedin_message with the approved message unchanged.
Return whether SalesTouch sent it, queued it, or blocked it.

The agent handles the research and writing. SalesTouch supplies the live LinkedIn context and performs the final approved action.

Send an exact approved message now

Use this when the copy is already final.

Prompt for your agent
Send one approved LinkedIn message with SalesTouch.

Recipient: https://www.linkedin.com/in/example/
Approved message: Thanks for connecting. I liked your point about keeping AI workflows simple. Are you open to comparing notes?

Call linkedin_message with this exact recipient and text. Do not rewrite the
message or choose another target. If SalesTouch requires queueing, show me the
proposed timing and ask for approval before retrying.

Return the selected LinkedIn account and the confirmed sent, queued, or failed state.

Read the conversation and prepare the next reply

Use this when the message should respond to an existing exchange rather than start from profile data alone.

Prompt for your agent
Use SalesTouch to prepare the next LinkedIn reply for:
https://www.linkedin.com/in/example/

Find the matching conversation with linkedin_conversations_search, then read
its messages with linkedin_conversations_messages.

Summarize the latest relevant question in one sentence and draft a concise reply
that answers it directly. Use only the conversation history and context I provide.
Do not invent prior familiarity, results, pricing, or promises.

Show me the draft and wait for approval. After I approve the exact copy, call
linkedin_message for the resolved conversation and report the confirmed state.

This lets the agent write from the real relationship history while SalesTouch keeps the source conversation and execution state connected.

Schedule an approved message for later

Use this when timing matters and the copy is already approved.

Prompt for your agent
Use SalesTouch to schedule this approved LinkedIn message.

Recipient: https://www.linkedin.com/in/example/
Message: Thanks for the conversation today. Here is the resource I promised.
Do not run before: 2026-09-01T09:30:00+02:00

Call linkedin_message with the exact recipient, message, and future time.
Do not change the copy or send earlier.

Return the requested time, effective scheduled time, queued action ID, and
current state. Describe a queued message as scheduled, not sent.

SalesTouch persists the action and applies the connected account's working hours and controls. It never treats a requested future time as permission to send earlier.

Check whether a sent or queued message completed

Use this after an action when you want a fresh state without sending again.

Prompt for your agent
Use SalesTouch to check the current LinkedIn messaging state for:
https://www.linkedin.com/in/example/

Call lead_status. Report the latest confirmed message state, queued action ID,
scheduled time, sent time, or error when available.

This is a read-only check. Do not send, queue, cancel, or retry any action.

This prompt is also suitable for a recurring check managed by your AI client. The client owns the schedule; SalesTouch performs a fresh status lookup on each run.

What happens after the prompt?

You do not need to understand the full tool schema. For a direct message, the agent needs a recipient or resolved conversation, the approved text, and your instruction about immediate or future execution. SalesTouch returns the operational state the agent should show you.

Completed now

Message sent

The message was executed through the connected LinkedIn account. Keep the returned timestamp as the receipt.

Accepted for later

Message queued

SalesTouch persisted the action. Keep its action ID and timing, but do not describe it as delivered.

Different workflow needed

Connection required

The target is not available for the standard direct-message path. Switch to an invitation workflow instead of forcing the same action.

Not completed

Exact error

Preserve the returned reason, fix the connection or input, and avoid duplicate retries.

The important distinction is operational, not technical: sent is complete, queued is pending, and an error means no successful message action has been confirmed.

Choose the right SalesTouch messaging workflow

Use linkedin_message when you know the recipient and want to send, reply, or schedule one direct message.

SalesTouch also lets the agent combine messaging with other LinkedIn capabilities:

  • research a profile and recent posts before drafting;
  • read the existing conversation before replying;
  • send a connection invitation when direct messaging is not available;
  • save an approved follow-up that waits for invitation acceptance;
  • monitor queued actions and conversation state;
  • use account controls, working hours, and pacing across repeated workflows.

This is where the MCP model becomes useful. Claude or Codex can choose a sequence of LinkedIn tools from your goal, while each SalesTouch action remains visible and returns its own result.

Why use SalesTouch for AI-assisted LinkedIn messaging?

Without a LinkedIn tool, Claude or Codex can write copy but cannot complete the live action. SalesTouch connects the reasoning layer to the LinkedIn capabilities needed to finish the job.

For this workflow, that means:

  • live profile, post, and conversation context can inform the draft;
  • the final recipient and message remain visible for approval;
  • one messaging tool supports immediate and future execution;
  • queues, limits, and working hours keep execution controlled;
  • sent, queued, and failed states remain distinct;
  • lead_status lets the agent verify an action instead of trusting a verbal claim;
  • the same MCP connection works from Claude, Codex, and other compatible agents;
  • LinkedIn credentials stay out of the prompt.

Common problems and the next move

The agent cannot see SalesTouch

Reconnect the SalesTouch MCP, complete authentication, and open a fresh Claude or Codex conversation. Ask the agent to list the available SalesTouch tools without performing an action.

The profile cannot receive a direct message

Use lead_status to confirm the relationship state. If the direct-message path is unavailable, ask the agent to prepare a connection invitation or an invite-then-message workflow instead.

SalesTouch asks to queue the action

Review the proposed timing. If it matches your intent, approve a retry with queueing. Keep the action ID and remember that queued does not mean delivered.

The message is still queued

Check it with lead_status. Do not send the same message again while the first action remains active.

The wrong LinkedIn account is selected

Stop before retrying. Ask the agent to list the connected accounts, choose the intended identity, and only then approve the action again.

Frequently asked questions

Can Claude or Codex write and send the LinkedIn message?

Yes, once SalesTouch is connected. Claude or Codex researches and writes. SalesTouch provides the live LinkedIn tools and executes the approved message through the connected account.

Does SalesTouch write the message?

No. The AI client writes and adapts the copy from your instructions and the verified context it retrieves. SalesTouch supplies LinkedIn context, execution, controls, queues, and result states.

Can the agent use profile or post context before writing?

Yes. It can combine linkedin_lookup_profile and linkedin_lookup_profile_posts with linkedin_message. Ask it to show the facts used and wait for approval before sending.

Can the agent reply inside an existing conversation?

Yes. It can find the conversation, read its messages, draft a contextual reply, wait for approval, and use the resolved conversation for the final action.

Can I schedule a LinkedIn message?

Yes. Give the agent an approved message and a future ISO 8601 time with a timezone. SalesTouch persists the action and returns the effective scheduled state.

How do I know whether the message was really sent?

Read the SalesTouch result. A sent state includes confirmed execution timing. A queued state includes a pending action rather than delivery. Use lead_status for a fresh follow-up check.

Can I send messages to many people with one prompt?

SalesTouch can support broader outreach workflows, but every person still needs targeting, relevant copy, execution state, and sensible pacing. Start with one verified workflow before scaling.

Send your first message from Claude or Codex

Connect SalesTouch, choose one person you know, let the agent prepare a message, approve the final copy, and ask it to execute the action. The useful outcome is not merely a draft. It is a verified LinkedIn result returned to the same conversation.