# Botdog — how to use (mcp.ai)

Connect your Botdog account and use 12 tools for sales and CRM straight from your AI agent. Connect with your own API key. Botdog is a LinkedIn outreach platform for managing campaigns, leads, messaging, team analytics, and connected sending accounts.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_botdog?ms=1787291520000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `botdog_add_leads_to_campaign`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/botdog`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/botdog/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/botdog/add/leads/to/campaign` — Create 1 to 100 lead records from LinkedIn profiles in an existing campaign. This changes the campaign's external audience and may cause its configured outreach workflow to act on those leads; it does
  - body: { leads: object[], campaign_id: string }
- `POST https://api.mcp.ai/api/botdog/get/analytics` — Return outreach analytics for a preset period, either as team/campaign totals or as a per-user breakdown.
  - body: { view?: string, period?: string, user_id?: string }
- `POST https://api.mcp.ai/api/botdog/get/campaign` — Return one campaign's identity, status, owner, and configured dates by campaign ID.
  - body: { campaign_id: string }
- `POST https://api.mcp.ai/api/botdog/get/campaign/sequence` — Return a campaign's configured workflow steps and branches in graph, tree, readable, or combined form; this does not edit or launch the campaign.
  - body: { format?: string, campaign_id: string }
- `POST https://api.mcp.ai/api/botdog/get/campaign/statistics` — Return invitation, message, profile-visit, and response metrics and rates for one campaign.
  - body: { campaign_id: string }
- `POST https://api.mcp.ai/api/botdog/get/current/team` — Return the name and user count of the Botdog team authenticated by the connected API key.
- `POST https://api.mcp.ai/api/botdog/get/daily/analytics` — Return one outreach-activity row per calendar day plus totals for an explicit date range, optionally filtered by user or campaign.
  - body: { user_id?: string, end_date: string, start_date: string, campaign_id?: string }
- `POST https://api.mcp.ai/api/botdog/list/accounts` — Return connected LinkedIn sending accounts and their connection health for the authenticated Botdog team.
  - body: { limit?: integer }
- `POST https://api.mcp.ai/api/botdog/list/campaigns` — Return campaigns in the authenticated Botdog team, optionally filtered by status or owner user IDs.
  - body: { status?: string, owner_user_ids?: string[] }
- `POST https://api.mcp.ai/api/botdog/list/leads` — Return one cursor-controlled page of team leads, optionally filtered by campaign, list, campaign state, reply state, unread state, or skip state.
  - body: { limit?: integer, unread?: boolean, list_id?: string, replied?: boolean, skipped?: boolean, campaign_id?: string, next_cursor?: string, skip_reason?: string, campaign_status?: string }
- `POST https://api.mcp.ai/api/botdog/list/users` — Return Botdog users in the authenticated team so their IDs can be used in campaign and analytics filters.
  - body: { limit?: integer }
- `POST https://api.mcp.ai/api/botdog/send/message` — Immediately send a LinkedIn message to an existing lead conversation, or schedule delivery when send_at is provided. This causes irreversible external LinkedIn delivery and consumes the sending accoun
  - body: { text: string, lead_id: string, send_at?: string }

## Example prompts
- "What can I do in Botdog?"
- "Show me a summary of my Botdog account"

## More
- Page: https://mcp.ai/botdog
- Agent spec (llms.txt): https://mcp.ai/botdog/llms.txt
- Postman collection: https://mcp.ai/botdog/postman.json
