# LinkedIn campaigns

> Send connection requests, with an optional personalised note, from your LinkedIn account.

Every section below does the same job: in the dashboard (Guide), from your code (API) or through an AI assistant (MCP).

## Guide — In the dashboard

Source: /docs/engage/linkedin-campaigns

Pair your LinkedIn account, then let a campaign send connection requests (with an optional personalised note, up to 300 characters) to your leads.

<DemoFrame guide="engage-linkedin-campaigns" to="/engage/{workspace}" />

1. **Engage → LinkedIn.**
2. **Pair your account:** install the [LinkedIn Chrome extension](/docs/engage/linkedin-extension) and click **Connect this Chrome**; it appears under Integrations → LinkedIn Accounts.
3. **Watch** requests sent, accepted and failed.

### Every control on this screen [#every-control-on-this-screen]

Every button, field and switch, with what it does.

<ScreenControls screens={["engage-linkedin", "linkedin-new", "linkedin-detail", "integrations-linkedin", "linkedin-fans"]} />


---

## API — From your code

Source: /docs/engage/linkedin-campaigns/api

Authenticated with `?privateKey=YOUR_KEY` (see [Authentication](/docs/authentication)).

<Endpoints ops={["GET /v3/linkedin/accounts", "GET /v3/linkedin/campaigns", "GET /v3/linkedin/campaigns/{linkedinCampaignId}", "GET /v3/linkedin/campaigns/{linkedinCampaignId}/timeline", "POST /v3/linkedin/campaigns/{linkedinCampaignId}/activate", "POST /v3/linkedin/campaigns/{linkedinCampaignId}/pause", "POST /v3/linkedin/campaigns/{linkedinCampaignId}/resume", "DELETE /v3/linkedin/campaigns/{linkedinCampaignId}", "GET /v3/linkedin/keywords", "POST /v3/linkedin/keywords", "PUT /v3/linkedin/keywords/{keywordId}", "DELETE /v3/linkedin/keywords/{keywordId}", "GET /v3/linkedin/tracked-posts", "POST /v3/linkedin/tracked-posts", "PATCH /v3/linkedin/accounts/{linkedinAccountId}"]} />

<ApiPlayground
  ops={["GET /v3/linkedin/accounts", "GET /v3/linkedin/campaigns", "GET /v3/linkedin/campaigns/{linkedinCampaignId}", "GET /v3/linkedin/campaigns/{linkedinCampaignId}/timeline", "POST /v3/linkedin/campaigns/{linkedinCampaignId}/activate", "POST /v3/linkedin/campaigns/{linkedinCampaignId}/pause", "POST /v3/linkedin/campaigns/{linkedinCampaignId}/resume", "DELETE /v3/linkedin/campaigns/{linkedinCampaignId}", "GET /v3/linkedin/keywords", "POST /v3/linkedin/keywords", "PUT /v3/linkedin/keywords/{keywordId}", "DELETE /v3/linkedin/keywords/{keywordId}", "GET /v3/linkedin/tracked-posts", "POST /v3/linkedin/tracked-posts", "PATCH /v3/linkedin/accounts/{linkedinAccountId}"]}
  method="get"
  path="/v3/linkedin/campaigns"
  tool="list_linkedin_campaigns"
  args={`{
  "websiteId": "64b7f0a1c2d3e4f5a6b7c8d9"
}`}
/>

### Use case: Report on LinkedIn [#use-case-report-on-linkedin]

`GET /v3/linkedin/campaigns` returns each campaign with its counts.


---

## MCP — AI agents

Source: /docs/engage/linkedin-campaigns/mcp

Connect the [MCP server](/docs/mcp#quickstart), then just ask.

<Tools names={["list_linkedin_accounts", "list_linkedin_campaigns", "get_linkedin_campaign", "get_linkedin_campaign_timeline", "activate_linkedin_campaign", "pause_linkedin_campaign", "resume_linkedin_campaign", "delete_linkedin_campaign", "list_linkedin_keywords", "add_linkedin_keyword", "set_linkedin_keyword_status", "delete_linkedin_keyword", "list_linkedin_tracked_posts", "add_linkedin_tracked_post", "update_linkedin_account"]} />

### Use case [#use-case]

> How are my LinkedIn campaigns doing?

<McpToolCall name="list_linkedin_campaigns">

```json
{
  "websiteId": "64b7f0a1c2d3e4f5a6b7c8d9"
}
```

</McpToolCall>

