Search LinkedIn, view profiles, send connection requests and first messages, and read or reply to conversations on LinkedIn, WhatsApp, Telegram and Instagram through Unipile. Needs a Unipile v2 API key and a connected account.
What your agent can do with it
- unipile_linkedinAuthenticated HTTP access to the Unipile v2 API at the single global host https://api.unipile.com/v2 (no DSN). The applier injects the vaulted key into the X-API-KEY header; its c…
- unipile_create_hosted_authMints a Unipile hosted-auth link so a user can CONNECT a provider account (LinkedIn/Google/Telegram) — the account-onboarding primitive. Lets a product run its 'Connect' flow WITH…
- unipile_get_accountFetches one connected account by id (v2 GET /accounts/{id}). Pure read — verify a just-connected account exists before persisting it. Args: { accountId: string }.
- unipile_list_accountsLists every Unipile-connected account (LinkedIn, WhatsApp, Telegram, Instagram, etc.) with its id, provider, name and status. No args. Call this FIRST to discover which accountId …
- unipile_list_conversationsLists conversations (chats) for one connected account, any provider. Args: { accountId: string (from unipile_list_accounts), cursor?: string }. v2: account_id is a path segment.
- unipile_list_messagesLists the messages in one conversation thread. Args: { threadId: string (from unipile_list_conversations), accountId: string }. v2: both ids are path segments.
- unipile_send_messageSends a message into an EXISTING conversation thread on any connected account (LinkedIn, WhatsApp, Telegram), then notes it (proposal-gated). Args: { threadId: string, accountId: …
- linkedin_capture_profilesSearches LinkedIn people via Unipile and PROPOSES each match as a person entity (proposal-gated). Use linkedin_search_people to read without persisting. Args: { keywords: string, …
- linkedin_send_inviteSends a LinkedIn connection request (v2 relation-request) via Unipile, then notes it (proposal-gated). Args: { providerId: string (target LinkedIn user id), accountId?: string, me…
- linkedin_search_peopleSearches LinkedIn people via Unipile and RETURNS the matches inline. Pure read -> runs INSTANTLY (no approval). Use to qualify/enrich a lead in-flow; use linkedin_capture_profiles…
- linkedin_get_profileFetches one full LinkedIn profile by user id or public identifier, sections expanded. Pure read -> runs instantly. The enrichment primitive. Args: { identifier: string, accountId?…
- linkedin_send_first_messageStarts a NEW LinkedIn conversation and sends the opening message — cold outreach (v2 inbox-based). Distinct from unipile_send_message, which only replies in an existing thread. Pr…
- linkedin_list_relationsLists the 1st-degree LinkedIn connections of a connected account, cursor-paginated. Read-only. Args: { accountId: string, cursor?: string }. v2: GET /{account_id}/users/me/relatio…
- linkedin_list_invitationsLists SENT LinkedIn connection requests (v2 pending relation-requests). Diffing this over time is how you detect an accepted invitation. Read-only. Args: { accountId: string, curs…
What you will need
Asked for at install. Stored in your pod, never on our servers.
- Unipile v2 API keyThe Unipile v2 X-API-KEY (from dashboardv2.unipile.com — a v1 key will NOT work against api.unipile.com/v2). Stored server-encrypted in the vault; never persis…
- Default Unipile account id (optional)OptionalOPTIONAL. The default connected-account id LinkedIn skills use when no accountId arg is passed. You usually won't have this at connect time — run unipile_list_…
- Target person profileOptionalThe profileSlug found LinkedIn profiles are proposed as.
- {{name}} Unipile API keySecretUnipile v2 X-API-KEY for the connector.