account_id (acc_…) of a connected account; connect one with accounts.createAuthLink (LinkedIn can sign in with credentials, cookies or the UniLogin extension). One plugin covers 148 operations: chats and messages on any messaging provider, emails, drafts and folders, calendars and events, posts and comments, LinkedIn searches, Sales Navigator lists, and admin (scopes, API keys, webhooks). On LinkedIn, chats are listed with inboxes.listChats and started with inboxes.startChat (inbox CLASSIC_PRIMARY); chats.list and chats.start cover WhatsApp, Telegram and Instagram.
Writes are never retried after a timeout or 5xx, so a lost answer cannot cause a duplicate message, email, invitation or post. LinkedIn calls that spend a daily budget (profile and company views, post reads, searches) are only retried after Unipile’s own 429. Unipile does not pace sends for you: LinkedIn allows roughly 100-200 invitations a week and about 80-100 profile views a day. If Unipile accepts a write but answers with an unexpected body, the call returns { parse_warning, raw } instead of throwing; check result.parse_warning !== undefined before reading fields, and do not resend. Pictures and attachments return their type and size unless include_content is set.
Scopes, API keys and webhook endpoints need a Unipile Service API Key; Account API Keys get 403 api/insufficient_permissions. Deliveries are verified with the endpoint’s signing secret (unipile-signature header, HMAC-SHA256 of the raw body), so pass the raw request body to Corsair and set webhookSecret (or store the webhook signature) to that secret. Secrets are returned once: webhookEndpoints.create and apiKeys.create; other calls never show them.
What you get:
- 148 typed API operations
- 40 incoming webhook event types
Setup
1
Install
2
Add the plugin
corsair.ts
corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
No setup required yet. When you make your first request as a tenant, Corsair prompts for the API key.More: API Key
4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
Look up a LinkedIn profileWebhooks
Runs when an invitation is accepted. LinkedIn can report it up to 6 hours late.What’s next
API reference
Every
unipile.api.* operation with input and output types.Webhooks
Event paths, payloads, and
webhookHooks examples.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.