MCP App Store

Overview

Bring Outreach knowledge and actions into ChatGPT so your teams can move faster, combine insights across systems, and complete advanced revenue tasks without switching tools. Outreach is an end-to-end AI Revenue Platform for all go-to-market teams. By embedding agentic AI across every revenue workflow, Outreach increases sales productivity, boosts pipeline, and gives leaders the visibility and predictability they need to grow revenue at scale.

Tools

account_answer_question

ChatGPT
Answers questions about an account by searching and analyzing account record, meeting transcription, and other related data in the time range if specified. Example questions include: - What specific challenges or pain points is the account experiencing? - What are the desired outcomes or business goals the account aims to achieve?

account_create

ChatGPT
Creates a new account in Outreach. The current user is automatically assigned as one of the account's assigned users. The current user is set as the owner if no owner is specified in the input. Returns the created account record including its id only. IMPORTANT: Every field value used to create the account MUST be explicitly provided by the user. Never infer, guess, or fabricate field values. If the user has not supplied a value for a field, do not include that field. ALWAYS call input_fields_fetch with resource="Account" and action="Create" before calling this tool. input_fields_fetch returns the full list of available standard fields, their types, and any required custom fields with validation rules. This ensures you know exactly which fields are available and which are required before creating the account. Example: input: name: "Acme Corp" additional_fields: - field_name: "domain" value: "acme.com" - field_name: "companyType" value: "Enterprise" - field_name: "industry" value: "Technology" - field_name: "custom1" value: "NA"

account_get_by_id

ChatGPT
Retrieve an account using its unique identifier and return the corresponding Account object which includes default fields: id, name, company_type, owner, touched_at, industry, default_connection Use the additional_fields param to include additional account fields in the response. For custom fields (e.g. "Current CRM") which are not already included in the additional_fields parameter description or default fields, first call the filter_fields_fetch tool with entity_type="account" to discover relevant custom fields, then pass that ID (ex. "custom8") in additional_fields. Never guess custom field IDs. Only use when you know the corresponding label. Note: This tool returns only summary information (id, name) for the owner. To get full details about the owner, use the user_get_by_id tool with the owner's id.

account_search_by_external_id

ChatGPT
Search for accounts using id of the associated object in external systems, such as Saleforce or Dynamics. The search will return a list of Accounts. The Account contains the same information returned by account_get_by_id tool.

calendar_events_fetch

ChatGPT
Retrieve a list of calendar events (meetings) based on optional filter criteria. A calendar event represents a scheduled meeting or appointment on a user's calendar. Use this tool to fetch scheduled meetings which have not yet occurred or to review past meetings regardless of whether they had transcripts or were processed by Kaia's meeting intelligence features. Use the kaia_meeting_fetch tool to retrieve contents about meetings which have already occurred (transcripts, etc). Use this tool to explore meetings from calendar metadata (e.g. scheduled date, source, cancellation status, etc). Notes: - Multiple filters are combined with AND logic. - Use limit to control how many results are returned. Response: - Each event includes the title, time range, associated prospect/account/opportunity, and attendees. - The 'count' field indicates the total number of matching events, which may exceed the limit. When count > limit, state both the total and the number shown, e.g., "Showing 10 of 247 total events." When count <= limit, state only the count, e.g., "Found 3 calendar events."

current_user

ChatGPT
Returns the user id and email of the caller

filter_fields_fetch

ChatGPT
Fetch fields for a specific entity type (ex. account) which can be used as: - filter attributes on that entity's search tool (ex. account_search, opportunity_search, prospect_search) through the additional_field_filters parameter. - additional output fields on that entity's search or get tools through the additional_fields parameter. Use this tool to retrieve up to 250 additional fields which can be used to retrieve the necessary data to answer user queries that can't be answered with built-in filters and args on existing entity search or get tools. ONLY Supported entity types: - prospect - account - opportunity Response format: - 'id' is the internal id used only for API calls. - 'label' is the human friendly name displayed in the UI that users will be familiar with. - 'validation_type' describes the data type (ex. numerical, inclusion, string, date). - 'validation_definition' describes accepted values for 'inclusion' and 'currency' validation_types. For 'inclusion' and 'currency' fields, the filter value must exactly match one of the entries in validation_definition. Example Response: { "entity_type": "account", "count": 2, "custom_fields": [ { "id": "amount", "label": "amount", "description": "The $ value of the opportunity in annual revenue.", "validation_type": "numerical", "validation_definition": null }, { "id": "custom3", "label": "Account Priority", "validation_type": "inclusion", "validation_definition": [ "Low", "Medium", "High" ] } ] }

input_fields_fetch

ChatGPT
Fetch the available input fields for a resource create/update action. Returns a ResourceInputSchema with three sections: - standard_fields: typed optional fields (e.g. companyType, industry, assignedTeams). - ref_types: definitions of non-scalar types referenced by standard_fields (e.g. TeamRelationship, UserRelationship — each with its 'id' field). - custom_fields: organization-specific custom fields with validation metadata. Supported resources: Account Supported actions: Create Response structure: resource (str): The resource type (e.g. 'Account'). action (str): The action type (e.g. 'Create'). standard_fields (list): Standard optional fields, each containing: - name: camelCase GQL field name (e.g. 'companyType', 'assignedTeams') - type: concise type string (e.g. 'string', 'int', 'float', 'TeamRelationship', 'list[UserRelationship]', 'list[string]') - required: whether the field is required for the action - description: description of the field ref_types (list): Non-scalar type definitions referenced by standard_fields. Each contains: - name: type name (e.g. 'TeamRelationship', 'UserRelationship') - description: description of the type - fields: list of fields in this type, each with name, type, required custom_fields (list): Custom fields with validation rules, each containing: - name: internal field identifier (e.g. 'custom1') - label: human-readable label (e.g. 'Region') - required: whether the field is required - description: description of the custom field - validation_type: validation kind ('numerical', 'inclusion', 'string', 'currency', 'date') - validation_definition: accepted values for 'inclusion' type, currency code for 'currency' type, etc. Example response: { "resource": "Account", "action": "Create", "standard_fields": [ {"name": "companyType", "type": "string", "required": false, "description": "Company type of the account"}, {"name": "assignedTeams", "type": "list[TeamRelationship]", "required": false, "description": "Teams assigned to the account"} ], "ref_types": [ {"name": "TeamRelationship", "description": "A relationship reference to a Team entity.", "fields": [{"name": "id", "type": "int", "required": true, "description": "ID of the related entity"}]}, {"name": "UserRelationship", "description": "A relationship reference to a User entity.", "fields": [{"name": "id", "type": "int", "required": true, "description": "ID of the related entity"}]} ], "custom_fields": [ {"name": "custom1", "label": "Region", "required": true, "description": "Region", "validation_type": "inclusion", "validation_definition": ["NA", "EMEA", "APAC"]} ] }

opportunity_answer_question

ChatGPT
Answers questions about an opportunity by searching and analyzing opportunity record, meeting transcription, and other related data in the time range if specified. Example questions include: - What business goals is the buyer aiming to achieve? - What specific challenges is the buyer trying to solve?

opportunity_create

ChatGPT
Creates a new opportunity record in Outreach. The current user is automatically assigned as the owner if no owner is specified in the input. Returns an opportunity record with only the id field populated; all other fields are not set. IMPORTANT: Every field value used to create the opportunity MUST be explicitly provided by the user. Never infer, guess, or fabricate field values. If the user has not supplied a value for a field, do not include that field. ALWAYS call input_fields_fetch with resource="Opportunity" and action="Create" before calling this tool. input_fields_fetch returns the full list of available standard fields, their types, and any required custom fields with validation rules. This ensures you know exactly which fields are available and which are required before creating the opportunity. Example: input: name: "Q1 Enterprise Deal" closeDate: "2026-05-17T16:48:12.000Z" additional_fields: - field_name: "amount" value: 50000 - field_name: "opportunityStage" value: {"id": 3} - field_name: "custom1" value: "Inbound"

opportunity_get_by_id

ChatGPT
Retrieve a opportunity and associated sales methodology using its unique identifier and return the corresponding Opportunity object including: id: int name: str | None account: Account | None (only id and name are returned) amount: int | None close_date: str | None created_at: str | None health_score: float | None next_step: str | None last_contacted_at: str | None updated_at: str | None assigned_users: list[User] (only id and name are returned for each user) opportunity_stage: OpportunityStage | None owner: User | None (only id and name are returned) primary_prospect: Prospect | None (only id and name are returned) default_connection: DataConnection | None sales_methodology: SalesMethodology | None (only present when include_sales_methodology=True) fields: list[SalesMethodologyField] SalesMethodologyField contains the definition of a sales methodology field and the opportunity's value for that field, and includes: order: int | None label: str | None name: str | None label_short: str | None type: str | None definition: str | None value: str | None (the opportunity's value for this field) use type and definition if set to determine how to interpret the value field. For example, when type is "RELATIONSHIP", definition is "PROSPECT", and value is "1280273", it means the value is id of the prospect resource. To get more details about the resource, use the corresponding get_by_id tool with the id, or other appropriate tools. In this example, use prospect_get_by_id with id 1280273 to get more details about the prospect. Note: sales_methodology is only available from this tool, not from opportunity_search or other opportunity tools. This tool returns only summary information (id, name) for nested objects such as owner, assigned_users, and primary_prospect. The account field contains the parent account's id and name — use account.id (not the opportunity id) for account-scoped lookups. To get full details about the owner or an assigned user, use the user_get_by_id tool with the user's id. To get full details about the primary prospect, use the prospect_get_by_id tool with the prospect's id.

opportunity_search_by_external_id

ChatGPT
Search for opportunities using id of the associated object in external systems, such as Saleforce or Dynamics. The search will return a list of Opportunities. The Opportunity contains the same information returned by opportunity_get_by_id tool, except sales_methodology which is only available via opportunity_get_by_id.

opportunity_stage_fetch

ChatGPT
Returns a list of opportunity stages with optional filtering. Opportunity stages represent the different phases in a sales process (e.g., 'Discovery', 'Negotiation', 'Closed Won'). Supported filter attributes: - id - name - isClosed Examples: - filter:[] → returns all opportunity stages - filter:[{"attribute": "isClosed", "operator": "is", "value": "true"}] → only stages that are subtypes of 'closed' - filter:[{"attribute": "id", "operator": "is", "value": ["1", "2"]}] → only stages with id 1 or 2 - filter:[{"attribute": "name", "operator": "is", "value": ["Discovery"]}] → only stages with name that exactly matches 'Discovery' Notes: - Partial string matching is not supported for 'name'. - Multiple filters are combined with AND logic (all must match). Response: - Each stage includes id, name, isActive, isWon, and isClosed fields. - The response 'count' field indicates the total number of matching stages, which may exceed the number of records returned when a limit is applied.

prospect_create

ChatGPT
Creates a new prospect in Outreach. The current user is automatically assigned as one of the prospect's assigned users. The current user is set as the owner if no owner is specified in the input. Returns the created prospect record including its id only. IMPORTANT: Every field value used to create the prospect MUST be explicitly provided by the user. NEVER infer, guess, or fabricate field values. Do NOT make up field names. If the user has not supplied a value for a field, do not include that field. At least one of first_name or last_name must be provided. ALWAYS call input_fields_fetch with resource="Prospect" and action="Create" before calling this tool. input_fields_fetch returns the full list of custom fields with validation rules. This ensures you know exactly which fields are available and which are required before creating the prospect. HOW TO BUILD THE INPUT — follow these steps in order: Step 1: Set first_name and/or last_name from the user's request. Step 2: Set owner and assigned_users if specified by the user. Step 3: Collect ALL remaining data the user provided (standard fields like title, company, emails, AND custom fields like custom1, custom2) and place them into additional_fields. Custom fields (custom1 through custom150) are always strings. Step 4: Check input_fields_fetch results for any field with required: true. If ANY required field is missing from custom_fields, STOP and ask the user for the value. Step 5: Verify additional_fields is NOT null and NOT empty [] if you collected any values in Steps 3-4. custom_fields handling: Any field whose name starts with "custom" (e.g. custom1, custom2, …, custom150) MUST be placed inside additional_fields — they are NOT top-level parameters. Each entry has a field_name (e.g. "custom1") and a value (always a string for custom fields). Example — user says "Create prospect Jane Smith, VP of Sales at Acme Corp, set custom1 to NA": input: first_name: "Jane" last_name: "Smith" additional_fields: - field_name: "title" value: "VP of Sales" - field_name: "company" value: "Acme Corp" - field_name: "custom1" value: "NA"

prospect_get_by_id

ChatGPT
Retrieve a prospect using its unique identifier and return the corresponding Prospect object including: id: int name: str | None owner: User | None (only id and name are returned) account: Account | None (only id, name, company_type, touched_at, and industry are returned) assigned_users: list[User] (only id and name are returned for each user) campaign_name: str | None engaged_score: float | None engaged_at: str | None touched_at: str | None stage: Stage | None default_connection: DataConnection | None Note: This tool returns only summary information for nested objects. To get full details about the owner or an assigned user, use the user_get_by_id tool with the user's id. To get full details about the account, use the account_get_by_id tool with the account's id. To get multiple prospects by their IDs, use the prospect_search tool with the ids parameter.

prospect_search_by_external_id

ChatGPT
Search for prospects using id of the associated object in external systems, such as Saleforce or Dynamics. The search will return a list of Prospects. The Prospect contains the same information returned by prospect_get_by_id tool.

sequence_add_prospects

ChatGPT
Adds prospects to a sequence in Outreach by creating a batch operation. Returns a BatchRecord containing the batch ID and status. After receiving the batch response, use the batch_get_by_id tool with the returned batch ID to check its progress and report the final state (total, failures, pending) to the user. Required inputs: - prospect_ids: list of prospect IDs to add to the sequence. - sequence_id: ID of the target sequence. Optional inputs allow controlling mailbox, starting template, opportunity association, batch confirmation, and scheduling. IMPORTANT: Prospect IDs and sequence ID must be explicitly provided by the user. NEVER guess or fabricate IDs.

stage_fetch

ChatGPT
Returns the list of prospect lifecycle stages configured for the organization. Stages are org-level configuration labels that classify where a prospect sits in the outreach pipeline. They describe the prospect's overall disposition, NOT their enrollment in a specific sequence. Example stage names: - 'Not Started' - 'Not Started - Added to Sequence' - 'Attempting to Contact' - 'In Progress with Rep' - 'Closed - Unresponsive' - 'Closed - Not Interested - Unsubscribe' - 'Closed - Using Competitive Product' - 'Closed - Left Company' - 'Closed - Bad Timing' Use this tool when: - The user asks "what stages do we have?" or "list all prospect stages" - You need to resolve a stage name to its ID for filtering prospects by stage - The user wants to know the available disposition categories for prospects Do NOT use this tool to find which prospects are enrolled in a sequence or to check a prospect's progress through sequence steps — use sequence_state_search for that. Response: - Each stage includes id and name fields. - The response 'count' field indicates the total number of stages, which may exceed the number of records returned when a limit is applied.

user_get_by_id

ChatGPT
Retrieve an user using its unique identifier and return the corresponding User object including: id: int name: str | None first_name: str | None last_name: str | None email: str | None teams: list[Team] (only id and name are returned for each team) Note: This tool returns only summary information (id, name) for teams. To get full details about a team, use the team_get_by_id tool with the team's id. To get multiple users by their IDs, use the user_search tool with the ids parameter.

account_get_by_id

Claude

account_search_by_ext_id

Claude

account_search_by_name

Claude

fetch_kaia_meetings

Claude

opportunity_get_by_id

Claude

opportunity_search_by_ext_id

Claude

opportunity_search_by_name

Claude

prospect_get_by_id

Claude

prospect_search_by_ext_id

Claude

prospect_search_by_name

Claude

sequence_search_by_name

Claude

user_get_by_id

Claude

user_search_by_ext_id

Claude

user_search_by_nam

Claude

Capabilities

Writes

App Stats

42

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily