Skip to main content
Glama

LinkedIn: Start conversation

linkedin_start_conversation
Destructive

Start a new LinkedIn conversation and send a message. Requires the stable LinkedIn provider user_id. IMPORTANT: if the user gives a LinkedIn URL, name or search criteria, first call linkedin_get_profile or linkedin_search_people, extract the returned user id, then call this tool. Do not put a LinkedIn URL into linkedin_user_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes
inbox_idNoLinkedIn inbox to start from (default CLASSIC_PRIMARY). Use a Sales Navigator/Recruiter inbox ID from linkedin_list_inboxes for InMail-style messages.
account_idNoOptional Nilyo connection ID (unipile_account_id from list_connected_accounts). Omit when the user has one account for this provider. When several exist, Nilyo never guesses: list them (display name, identifier, provider user ID), choose the one the user named or ask, and pass its ID here.
linkedin_user_idYesStable provider user id resolved by linkedin_get_profile/search_people; not a linkedin.com URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint=false, destructiveHint=true, and idempotentHint=false, so the mutation profile is known. The description adds a useful input precondition and URL warning, but it does not disclose additional side effects such as InMail credit usage, irreversibility, or conversation creation behavior beyond what the annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose first, then the critical precondition, then the warning. Every sentence earns its place without filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The workflow for resolving user IDs is complete and the schema fills in account and inbox behavior. It lacks an explicit return-value note since there is no output schema, and it does not route around sibling messaging tools, but the invocation path is otherwise well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the schema already documents linkedin_user_id, inbox_id, and account_id in detail. The description reinforces the linkedin_user_id resolution rule, but it adds nothing about the text parameter, which has no schema description, and no new semantics for inbox_id or account_id beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Start a new LinkedIn conversation and send a message') and a clear resource, so an agent can tell it is a messaging mutation tool. It doesn't explicitly contrast with siblings like linkedin_send_message or linkedin_start_conversation_from_inbox, so sibling differentiation is incomplete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit workflow: if the user provides a URL, name, or search criteria, first call linkedin_get_profile or linkedin_search_people, extract the user id, then call this tool, and never pass a URL to linkedin_user_id. It does not say when to prefer linkedin_send_message or linkedin_start_conversation_from_inbox, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.