> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agentkit`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Outreach

**Authentication:** OAuth 2.0
**Categories:** Crm, Sales
## What you can do

Connect this agent connector to let your agent:

- **Complete tasks** — Mark an existing task as complete in Outreach
- **Get sequences, sequence states, webhooks** — Retrieve a single sequence by ID from Outreach
- **Delete sequences, opportunities, prospects** — Permanently delete a sequence from Outreach by ID
- **Create templates, accounts, tasks** — Create a new email template in Outreach
- **List tags, mailboxes, users** — List all tags configured in Outreach that can be applied to prospects, accounts, and sequences
- **Update tasks, templates, accounts** — Update an existing task in Outreach

## Authentication

This connector uses **OAuth 2.0**. Scalekit acts as the OAuth client: it redirects your user to Outreach, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a `connectionName` and a user `identifier`.

You supply your Outreach **Connected App** credentials (Client ID + Secret) once per environment in the Scalekit dashboard.

Before calling this connector from your code, create the Outreach connection in **AgentKit** > **Connections** and copy the exact **Connection name** from that connection into your code. The value in code must match the dashboard exactly.

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `outreach_accounts_create`

Create a new account (company) in Outreach.

Parameters:

- `name` (`string`, required): Name of the account (company)
- `description` (`string`, optional): Description of the account
- `domain` (`string`, optional): Website domain of the account
- `industry` (`string`, optional): Industry of the account
- `linkedin_url` (`string`, optional): LinkedIn company page URL
- `locality` (`string`, optional): Location/city of the account
- `number_of_employees` (`integer`, optional): Number of employees at the account
- `owner_id` (`integer`, optional): ID of the user (owner) to assign this account to
- `tags` (`array`, optional): Array of tags to apply to the account
- `website_url` (`string`, optional): Website URL of the account

### `outreach_accounts_delete`

Permanently delete an account from Outreach by ID. This action cannot be undone.

Parameters:

- `account_id` (`integer`, required): The unique identifier of the account to delete

### `outreach_accounts_get`

Retrieve a single account by ID from Outreach.

Parameters:

- `account_id` (`integer`, required): The unique identifier of the account to retrieve

### `outreach_accounts_list`

List all accounts in Outreach with optional filtering, sorting, and pagination.

Parameters:

- `filter_domain` (`string`, optional): Filter accounts by domain
- `filter_name` (`string`, optional): Filter accounts by name
- `page_offset` (`integer`, optional): Offset for pagination (number of records to skip)
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order (e.g., '-createdAt')

### `outreach_accounts_update`

Update an existing account in Outreach. Only provided fields will be changed.

Parameters:

- `account_id` (`integer`, required): The unique identifier of the account to update
- `description` (`string`, optional): Updated description of the account
- `domain` (`string`, optional): Updated website domain
- `industry` (`string`, optional): Updated industry of the account
- `name` (`string`, optional): Updated name of the account
- `number_of_employees` (`integer`, optional): Updated number of employees
- `owner_id` (`integer`, optional): Updated owner user ID
- `tags` (`array`, optional): Updated array of tags
- `website_url` (`string`, optional): Updated website URL

### `outreach_calls_create`

Log a call record in Outreach. Used to track inbound or outbound call activity against a prospect.

Parameters:

- `answered_at` (`string`, optional): ISO 8601 datetime when the call was answered
- `call_disposition_id` (`integer`, optional): ID of the call disposition (outcome category)
- `call_purpose_id` (`integer`, optional): ID of the call purpose
- `direction` (`string`, optional): Direction of the call. Options: inbound, outbound
- `duration` (`integer`, optional): Duration of the call in seconds
- `note` (`string`, optional): Note or summary about the call
- `outcome` (`string`, optional): Outcome of the call (e.g., connected, no_answer, left_voicemail)
- `prospect_id` (`integer`, optional): ID of the prospect associated with this call

### `outreach_calls_get`

Retrieve a single call record by ID from Outreach, including direction, outcome, note, recording URL, and related prospect.

Parameters:

- `call_id` (`integer`, required): The unique identifier of the call to retrieve

### `outreach_calls_list`

List call records in Outreach with optional filtering by prospect, direction, or outcome.

Parameters:

- `filter_direction` (`string`, optional): Filter calls by direction. Options: inbound, outbound
- `filter_prospect_id` (`integer`, optional): Filter calls by prospect ID
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_mailboxes_get`

Retrieve a single mailbox by ID from Outreach, including its email address, sender name, and sync status.

Parameters:

- `mailbox_id` (`integer`, required): The unique identifier of the mailbox to retrieve

### `outreach_mailboxes_list`

List all mailboxes (sender email addresses) configured in Outreach. Mailboxes are required when enrolling prospects in sequences.

Parameters:

- `filter_email` (`string`, optional): Filter mailboxes by email address
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)

### `outreach_mailings_get`

Retrieve a single mailing by ID from Outreach, including its body, subject, state, and related prospect details.

Parameters:

- `mailing_id` (`integer`, required): The unique identifier of the mailing to retrieve

### `outreach_mailings_list`

List mailings (emails sent or scheduled) in Outreach with optional filtering and pagination.

Parameters:

- `filter_prospect_id` (`integer`, optional): Filter mailings by prospect ID
- `filter_state` (`string`, optional): Filter by mailing state. Options: bounced, delivered, delivering, drafted, failed, opened, placeholder, queued, replied, scheduled
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_opportunities_create`

Create a new opportunity in Outreach to track sales deals.

Parameters:

- `close_date` (`string`, required): Expected close date for the opportunity in full ISO 8601 datetime format (YYYY-MM-DDTHH:MM:SS.000Z)
- `name` (`string`, required): Name or title of the opportunity
- `account_id` (`integer`, optional): ID of the account associated with this opportunity
- `amount` (`number`, optional): Monetary value of the opportunity
- `owner_id` (`integer`, optional): ID of the user (owner) responsible for this opportunity
- `probability` (`integer`, optional): Probability of closing (0-100)
- `prospect_id` (`integer`, optional): ID of the prospect (primary contact) associated with this opportunity
- `stage_id` (`integer`, optional): ID of the opportunity stage

### `outreach_opportunities_delete`

Permanently delete an opportunity from Outreach by ID. This action cannot be undone.

Parameters:

- `opportunity_id` (`integer`, required): The unique identifier of the opportunity to delete

### `outreach_opportunities_get`

Retrieve a single opportunity by ID from Outreach, including its name, amount, close date, and stage.

Parameters:

- `opportunity_id` (`integer`, required): The unique identifier of the opportunity to retrieve

### `outreach_opportunities_list`

List opportunities in Outreach with optional filtering by name, prospect, or account.

Parameters:

- `filter_name` (`string`, optional): Filter opportunities by name
- `filter_prospect_id` (`integer`, optional): Filter by prospect ID
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_opportunities_update`

Update an existing opportunity in Outreach. Only provided fields will be changed.

Parameters:

- `opportunity_id` (`integer`, required): The unique identifier of the opportunity to update
- `amount` (`number`, optional): Updated monetary value of the opportunity
- `close_date` (`string`, optional): Updated expected close date (ISO 8601 format)
- `name` (`string`, optional): Updated name of the opportunity
- `owner_id` (`integer`, optional): Updated owner user ID
- `probability` (`integer`, optional): Updated probability of closing (0-100)
- `stage_id` (`integer`, optional): Updated opportunity stage ID

### `outreach_prospects_create`

Create a new prospect in Outreach. Provide at minimum a first name, last name, or email address.

Parameters:

- `account_id` (`integer`, optional): ID of the account to associate with this prospect
- `address_city` (`string`, optional): City of the prospect's address
- `address_country` (`string`, optional): Country of the prospect's address
- `address_state` (`string`, optional): State of the prospect's address
- `company` (`string`, optional): Company name of the prospect
- `emails` (`array`, optional): Array of email addresses for the prospect
- `first_name` (`string`, optional): First name of the prospect
- `github_url` (`string`, optional): GitHub profile URL of the prospect
- `last_name` (`string`, optional): Last name of the prospect
- `linkedin_url` (`string`, optional): LinkedIn profile URL of the prospect
- `owner_id` (`integer`, optional): ID of the user (owner) to assign this prospect to
- `phones` (`array`, optional): Array of phone numbers for the prospect
- `tags` (`array`, optional): Array of tags to apply to the prospect
- `title` (`string`, optional): Job title of the prospect
- `website_url` (`string`, optional): Personal or company website URL of the prospect

### `outreach_prospects_delete`

Permanently delete a prospect from Outreach by ID. This action cannot be undone.

Parameters:

- `prospect_id` (`integer`, required): The unique identifier of the prospect to delete

### `outreach_prospects_get`

Retrieve a single prospect by ID from Outreach.

Parameters:

- `prospect_id` (`integer`, required): The unique identifier of the prospect to retrieve

### `outreach_prospects_list`

List all prospects in Outreach with optional filtering, sorting, and pagination.

Parameters:

- `filter_company` (`string`, optional): Filter prospects by company name
- `filter_email` (`string`, optional): Filter prospects by email address
- `filter_first_name` (`string`, optional): Filter prospects by first name
- `filter_last_name` (`string`, optional): Filter prospects by last name
- `page_offset` (`integer`, optional): Offset for pagination (number of records to skip)
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order (e.g., '-createdAt')

### `outreach_prospects_update`

Update an existing prospect in Outreach. Only provided fields will be changed.

Parameters:

- `prospect_id` (`integer`, required): The unique identifier of the prospect to update
- `account_id` (`integer`, optional): ID of the account to associate with this prospect
- `address_city` (`string`, optional): City of the prospect's address
- `address_country` (`string`, optional): Country of the prospect's address
- `address_state` (`string`, optional): State of the prospect's address
- `company` (`string`, optional): Company name of the prospect
- `emails` (`array`, optional): Array of email addresses for the prospect
- `first_name` (`string`, optional): First name of the prospect
- `last_name` (`string`, optional): Last name of the prospect
- `linkedin_url` (`string`, optional): LinkedIn profile URL of the prospect
- `owner_id` (`integer`, optional): ID of the user (owner) to assign this prospect to
- `phones` (`array`, optional): Array of phone numbers for the prospect
- `tags` (`array`, optional): Array of tags to apply to the prospect
- `title` (`string`, optional): Job title of the prospect

### `outreach_sequence_states_create`

Enroll a prospect in a sequence by creating a sequence state. Requires a prospect ID, sequence ID, and mailbox ID.

Parameters:

- `mailbox_id` (`integer`, required): ID of the mailbox to use for sending sequence emails
- `prospect_id` (`integer`, required): ID of the prospect to enroll in the sequence
- `sequence_id` (`integer`, required): ID of the sequence to enroll the prospect in

### `outreach_sequence_states_delete`

Remove a prospect from a sequence by deleting the sequence state record. This action cannot be undone.

Parameters:

- `sequence_state_id` (`integer`, required): The unique identifier of the sequence state to delete

### `outreach_sequence_states_get`

Retrieve a single sequence state (enrollment record) by ID from Outreach.

Parameters:

- `sequence_state_id` (`integer`, required): The unique identifier of the sequence state to retrieve

### `outreach_sequence_states_list`

List sequence states (enrollment records) in Outreach, showing which prospects are enrolled in which sequences.

Parameters:

- `filter_prospect_id` (`integer`, optional): Filter by prospect ID
- `filter_sequence_id` (`integer`, optional): Filter by sequence ID
- `filter_state` (`string`, optional): Filter by state. Options: active, pending, finished, paused, disabled, failed, bounced, opted_out
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)

### `outreach_sequence_steps_get`

Retrieve a single sequence step by ID from Outreach, including its step order, action type, and associated sequence.

Parameters:

- `sequence_step_id` (`integer`, required): The unique identifier of the sequence step to retrieve

### `outreach_sequence_steps_list`

List all sequence steps in Outreach. Sequence steps define the individual actions (emails, calls, tasks) within a sequence.

Parameters:

- `filter_sequence_id` (`integer`, optional): Filter sequence steps by sequence ID
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)

### `outreach_sequences_create`

Create a new sequence in Outreach for automated sales engagement.

Parameters:

- `name` (`string`, required): Name of the sequence
- `description` (`string`, optional): Description of the sequence
- `owner_id` (`integer`, optional): ID of the user (owner) to assign this sequence to
- `sequence_type` (`string`, optional): Type of the sequence. Options: 'date' or 'interval'
- `tags` (`array`, optional): Array of tags to apply to the sequence

### `outreach_sequences_delete`

Permanently delete a sequence from Outreach by ID. This action cannot be undone and will remove all associated sequence steps.

Parameters:

- `sequence_id` (`integer`, required): The unique identifier of the sequence to delete

### `outreach_sequences_get`

Retrieve a single sequence by ID from Outreach.

Parameters:

- `sequence_id` (`integer`, required): The unique identifier of the sequence to retrieve

### `outreach_sequences_list`

List all sequences in Outreach with optional filtering and pagination.

Parameters:

- `filter_enabled` (`boolean`, optional): Filter by enabled status (true or false)
- `filter_name` (`string`, optional): Filter sequences by name
- `page_offset` (`integer`, optional): Offset for pagination (number of records to skip)
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_sequences_update`

Update an existing sequence in Outreach. Use this to rename a sequence, change its description, or enable/disable it.

Parameters:

- `sequence_id` (`integer`, required): The unique identifier of the sequence to update
- `description` (`string`, optional): Updated description of the sequence
- `enabled` (`boolean`, optional): Whether the sequence should be active/enabled
- `name` (`string`, optional): Updated name of the sequence
- `tags` (`array`, optional): Updated array of tags for the sequence

### `outreach_stages_get`

Retrieve a single opportunity stage by ID from Outreach, including its name, color, and order.

Parameters:

- `stage_id` (`integer`, required): The unique identifier of the opportunity stage to retrieve

### `outreach_stages_list`

List all opportunity stages (pipeline stages) configured in Outreach.

Parameters:

- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)

### `outreach_tags_list`

List all tags configured in Outreach that can be applied to prospects, accounts, and sequences.

Parameters:

- `filter_name` (`string`, optional): Filter tags by name
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)

### `outreach_tasks_complete`

Mark an existing task as complete in Outreach. Only works for action_item and in_person tasks — call and email tasks cannot be completed this way. Use this instead of outreach_tasks_update to complete a task.

Parameters:

- `task_id` (`integer`, required): The unique identifier of the task to mark as complete
- `completion_note` (`string`, optional): Optional note to record when marking the task complete

### `outreach_tasks_create`

Create a new task in Outreach. Tasks can represent calls, emails, in-person meetings, or general action items. Both owner_id and prospect_id are required by the Outreach API.

Parameters:

- `action` (`string`, required): Type of action for the task. Options: action_item, call, email, in_person
- `owner_id` (`integer`, required): ID of the user assigned to this task
- `prospect_id` (`integer`, required): ID of the prospect associated with this task (subject). Required — must provide either prospect_id or account_id.
- `due_at` (`string`, optional): Due date/time for the task (ISO 8601 format)
- `note` (`string`, optional): Note or description for the task

### `outreach_tasks_delete`

Permanently delete a task from Outreach by ID. This action cannot be undone.

Parameters:

- `task_id` (`integer`, required): The unique identifier of the task to delete

### `outreach_tasks_get`

Retrieve a single task by ID from Outreach, including its action type, due date, note, and associated prospect.

Parameters:

- `task_id` (`integer`, required): The unique identifier of the task to retrieve

### `outreach_tasks_list`

List tasks in Outreach with optional filtering by state, action type, prospect, or due date.

Parameters:

- `filter_prospect_id` (`integer`, optional): Filter tasks by prospect ID
- `filter_state` (`string`, optional): Filter tasks by state. Options: incomplete, complete
- `filter_task_type` (`string`, optional): Filter tasks by task type. Options: action_item, call, email, in_person
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_tasks_update`

Update an existing task in Outreach. Supports changing action, note, and due date. To mark a task complete, use the outreach_tasks_complete tool instead.

Parameters:

- `task_id` (`integer`, required): The unique identifier of the task to update
- `action` (`string`, optional): Updated action type. Options: action_item, call, email, in_person
- `due_at` (`string`, optional): Updated due date/time for the task (ISO 8601 format)
- `note` (`string`, optional): Updated note or description for the task

### `outreach_templates_create`

Create a new email template in Outreach. Templates can be used in sequences and for manual email sends.

Parameters:

- `name` (`string`, required): Name of the template
- `body_html` (`string`, optional): HTML body content of the template
- `owner_id` (`integer`, optional): ID of the user who owns this template
- `subject` (`string`, optional): Email subject line of the template
- `tags` (`array`, optional): Array of tags to apply to the template

### `outreach_templates_delete`

Permanently delete an email template from Outreach by ID. This action cannot be undone.

Parameters:

- `template_id` (`integer`, required): The unique identifier of the template to delete

### `outreach_templates_get`

Retrieve a single email template by ID from Outreach, including its subject, body, and usage statistics.

Parameters:

- `template_id` (`integer`, required): The unique identifier of the template to retrieve

### `outreach_templates_list`

List email templates in Outreach with optional filtering by name.

Parameters:

- `filter_name` (`string`, optional): Filter templates by name
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_templates_update`

Update an existing email template in Outreach. Only provided fields will be changed.

Parameters:

- `template_id` (`integer`, required): The unique identifier of the template to update
- `body_html` (`string`, optional): Updated HTML body content
- `name` (`string`, optional): Updated name of the template
- `subject` (`string`, optional): Updated email subject line
- `tags` (`array`, optional): Updated array of tags

### `outreach_users_get`

Retrieve a single Outreach user by ID, including their name, email, and role information.

Parameters:

- `user_id` (`integer`, required): The unique identifier of the user to retrieve

### `outreach_users_list`

List all users in the Outreach organization with optional filtering and pagination.

Parameters:

- `filter_email` (`string`, optional): Filter users by email address
- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)
- `sort` (`string`, optional): Sort field. Prefix with '-' for descending order

### `outreach_webhooks_create`

Create a new webhook in Outreach to receive event notifications at a specified URL. Outreach will POST event payloads to the provided URL when subscribed events occur.

Parameters:

- `url` (`string`, required): The HTTPS URL to receive webhook event payloads
- `action` (`string`, optional): The event action to subscribe to (e.g., created, updated, deleted)
- `resource_type` (`string`, optional): The resource type to subscribe to events for (e.g., prospect, account, sequenceState)
- `secret` (`string`, optional): A secret string used to sign webhook payloads for verification

### `outreach_webhooks_delete`

Permanently delete a webhook from Outreach by ID. Outreach will stop sending event notifications to the associated URL.

Parameters:

- `webhook_id` (`integer`, required): The unique identifier of the webhook to delete

### `outreach_webhooks_get`

Retrieve a single webhook configuration by ID from Outreach.

Parameters:

- `webhook_id` (`integer`, required): The unique identifier of the webhook to retrieve

### `outreach_webhooks_list`

List all webhooks configured in Outreach for receiving event notifications.

Parameters:

- `page_offset` (`integer`, optional): Offset for pagination
- `page_size` (`integer`, optional): Number of results per page (max 1000)


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
