# Reply.io — how to use (mcp.ai)

Connect your Reply.io account and use 33 tools for marketing automation straight from your AI agent. Connect with your own API key. Reply.io is an AI-powered sales engagement platform that automates and optimizes sales outreach across multiple channels, integrating with various business tools to enhance lead conversion rates and overall sales productivity.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_reply_io?ms=1787291160000`
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. `reply_io_add_contact_to_sequence`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/reply_io`
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/reply_io/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/reply_io/add/contact/to/sequence` — Move an existing contact to a sequence in Reply.io. Use this action to enroll contacts in email sequences for automated outreach campaigns. This action allows you to specify where in the sequence to s
  - body: { startFrom?: string, contact_id: integer, sequenceId: integer, startStepId?: integer, ignoreStepDelay?: boolean, removeFromExisting?: boolean }
- `POST https://api.mcp.ai/api/reply_io/archive/sequence` — Tool to archive a sequence. Use when you need to archive an existing sequence without permanently deleting it.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/clear/contact/status` — Tool to clear statuses from contacts. Use when you need to remove specific or all clearable statuses from contacts.
  - body: { statuses?: string[], contactIds: integer[], sequenceId?: integer }
- `POST https://api.mcp.ai/api/reply_io/connect/exchange/account` — Tool to initiate OAuth connection for an Exchange email account. Use when you need to connect an Exchange account to Reply.io via OAuth flow. Returns the Microsoft OAuth consent page URL where the use
- `POST https://api.mcp.ai/api/reply_io/connect/gmail/account` — Tool to initiate Gmail account connection via OAuth. Returns the OAuth authorization URL where the user should be redirected to grant permissions.
- `POST https://api.mcp.ai/api/reply_io/create/contact` — Tool to create a new contact in Reply.io. Use when adding contacts to your outreach database.
  - body: { city?: string, email?: string, notes?: string, phone?: string, state?: string, title?: string, company?: string, country?: string, industry?: string, lastName?: string, timeZone?: string, firstName: string, companySize?: string, customFields?: object[], linkedInProfile?: string, linkedInRecruiter?: string, linkedInSalesNavigator?: string }
- `POST https://api.mcp.ai/api/reply_io/create/sequence/step` — Tool to add a new step to an existing sequence. Use when you need to build or modify sequence workflows with Email, Call, Task, SMS, WhatsApp, LinkedIn, Condition, or Zapier steps.
  - body: { name?: string, type: string, action?: string, message?: string, templates?: object[], actionType?: string, conditions?: object[], inmailBody?: string, description?: string, sequence_id: integer, executionMode?: string, inmailSubject?: string, waitInMinutes?: integer, connectionNote?: string, delayInMinutes: integer, linkedinMessage?: string }
- `POST https://api.mcp.ai/api/reply_io/delete/contact` — Tool to delete a contact. Use after confirming the contact exists to remove it permanently.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/delete/email/account` — Tool to delete a specific email account. Use when you need to remove an existing email account identified by its ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/reply_io/delete/schedule` — Tool to delete a schedule. Use after confirming the schedule exists to remove it permanently.
  - body: { id: string }
- `POST https://api.mcp.ai/api/reply_io/delete/sequence` — Tool to delete a sequence. Use after confirming the sequence exists to remove it permanently.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/delete/user` — Tool to delete a user. Use after confirming the user exists to remove them permanently.
  - body: { id: string }
- `POST https://api.mcp.ai/api/reply_io/generate/ulid` — Generate ULID
  - body: { seed?: string }
- `POST https://api.mcp.ai/api/reply_io/get/contact/by/id` — Tool to retrieve a contact by ID. Use when you have a contact ID and need detailed contact information.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/get/contact/status` — Tool to get contact status. Use when you need to retrieve all current statuses for a contact.
  - body: { contactId: integer, sequenceId?: integer }
- `POST https://api.mcp.ai/api/reply_io/get/current/user` — Tool to get the current authenticated user's ID. Use when you need to verify API key validity or identify the current user.
- `POST https://api.mcp.ai/api/reply_io/get/disconnected/email/accounts` — Tool to list email accounts that are currently disconnected due to authentication or connection errors. Use when you need to identify and troubleshoot problematic email accounts.
  - body: { top?: integer, skip?: integer }
- `POST https://api.mcp.ai/api/reply_io/get/sequence/by/id` — Tool to retrieve detailed information about a sequence by its ID. Use when you need to get comprehensive sequence details including settings, email accounts, and workflow steps.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/get/sequence/contacts/extended` — Tool to retrieve all contacts enrolled in a sequence with additional details. Use when you need to see contact engagement status, current step, or completion timestamps within a sequence.
  - body: { id: integer, top?: integer, skip?: integer, additionalColumns?: string }
- `POST https://api.mcp.ai/api/reply_io/get/sequence/step/by/id` — Tool to retrieve details of a specific sequence step. Use when you need to inspect step configuration including type, delays, execution mode, and type-specific settings.
  - body: { id: integer, step_id: integer }
- `POST https://api.mcp.ai/api/reply_io/list/contacts/basic` — Tool to list contacts. Use when verifying API access and gathering contact IDs.
  - body: { page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/reply_io/list/email/accounts` — Tool to list all email accounts. Use when you need to retrieve email accounts page by page.
  - body: { page?: integer, limit?: integer, status?: string }
- `POST https://api.mcp.ai/api/reply_io/list/lists` — Tool to list all contact lists. Use when you need to retrieve all available lists in your Reply.io account.
- `POST https://api.mcp.ai/api/reply_io/list/sequence/steps` — Tool to retrieve all steps in a sequence. Use when you need to get the complete list of steps configured for a specific sequence.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/list/sequences` — Tool to retrieve a paginated list of sequences. Use when you need to browse sequences with optional filtering by name.
  - body: { name?: string, page?: integer, limit?: integer }
- `POST https://api.mcp.ai/api/reply_io/pause/sequence` — Tool to pause a running sequence. Use when you need to temporarily stop a sequence from sending emails or executing steps.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/remove/contact/from/sequence` — Tool to remove a contact from a sequence. Use when you need to stop a contact from receiving further steps in a specific sequence.
  - body: { id: string, contact_id: integer }
- `POST https://api.mcp.ai/api/reply_io/remove/contacts/from/sequence` — Tool to bulk remove multiple contacts from a sequence at once. Use when you need to remove several contacts from a sequence efficiently in a single operation.
  - body: { id: integer, contactIds: integer[] }
- `POST https://api.mcp.ai/api/reply_io/search/contacts` — Tool to search contacts by email. Use when you need to find existing contact IDs for update tests.
  - body: { email: string }
- `POST https://api.mcp.ai/api/reply_io/set/contact/status` — Tool to set the status of one or more contacts. Use when you need to update contact statuses in bulk.
  - body: { status: string, contactIds: integer[], sequenceId?: integer }
- `POST https://api.mcp.ai/api/reply_io/start/sequence` — Tool to start a sequence. Use when you need to activate a sequence that is in New or Paused status.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/reply_io/update/contact` — Tool to update an existing contact's information. Use when you need to modify contact details.
  - body: { id: integer, city?: string, email?: string, notes?: string, phone?: string, state?: string, title?: string, company?: string, country?: string, industry?: string, lastName?: string, timeZone?: string, firstName: string, companySize?: string, phoneStatus?: string, customFields?: object[], linkedInProfile?: string, linkedInRecruiter?: string, linkedInSalesNavigator?: string }
- `POST https://api.mcp.ai/api/reply_io/update/email/account` — Tool to update an existing email account with custom SMTP/IMAP settings. Use when you need to modify email account configuration such as sender name, signature, server settings, or daily limits.
  - body: { email: string, folder?: string, imapSsl?: boolean, smtpSsl?: boolean, imapHost: string, imapPort: integer, smtpHost: string, smtpPort: integer, dailyGoal?: integer, signature: string, dailyLimit: integer, senderName: string, imapPassword: string, smtpPassword: string, dailyIncrement?: integer, randomizedDailyVolumeMax?: integer, randomizedDailyVolumeMin?: integer }

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

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