Pace
Live context on every deal
- Category
- Sales & CRM
- Primary Subcategory
- Conversation & Revenue Intelligence
Integration details
Description
Pace is the context layer for your sales pipeline. It pre-computes deal intelligence from your CRM, emails, and call recordings, then serves it to your AI assistant as live, structured context on every deal. Ask what's really going on with an account, get AI risk and forecast assessments backed by evidence, catch deals that have gone quiet, and know precisely where your team is going to land. No more digging through Salesforce or HubSpot, no more guessing.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Conversation & Revenue Intelligence
- Secondary Subcategories
- None listed
- Brand
- Crossbeam
- Access
- Account required
- First tracked
- 2026-07-28
- Tool count
- 21
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Conversation & Revenue Intelligence
View Category21 tools agents can invoke
Discover available filterable fields for opportunities and accounts. Returns the list of synced CRM fields for this organization's opportunities and accounts, including both standard mapped fields (e.g. stage, opportunity type) and custom fields. Each field includes its API name, human-readable label, type category, picklist options (if applicable), object_type ("Opportunity" or "Account"), and the write flags 'is_updateable' and 'is_nillable'. Use the field 'name' (not 'label') when constructing filters for list_opportunities. For picklist/multipicklist fields, the filter value must be the option's API value — the KEY in the 'options' map (e.g. "closedwon"), NOT the human label (e.g. "Closed Won"). Use 'type_category' to pick appropriate operators. Place Opportunity fields in custom_filters and Account fields in account_custom_filters. Before editing a field with update_crm_field, check 'is_updateable' (whether the field can be written through that tool) and 'is_nillable' (whether it can be cleared/set to null). 'is_updateable' reports editability through update_crm_field specifically, which edits ONLY Opportunity fields today — so every Account field reports 'is_updateable'=false regardless of the CRM's own metadata.
discover_custom_fields
Call this FIRST whenever the user wants to draft, write, or reply to an email to a prospect or customer about a deal. Returns Pace's email-drafting playbook: which CRM tools to call to gather the deal context, the account executive's identity and sending address, and Pace's email-writing guidelines for matching the account executive's style. It does not write the email itself — follow the returned instructions to write the draft.
draft_sales_email
Fetch account details with optional contacts and opportunities. Returns account info (name, website, domain, owner), contact count, and opportunity summary (open/closed-won/closed-lost counts and amounts) by default. Use `include_contacts=true` to include the full list of contacts (names, titles, emails, phones). Use `include_opportunities=true` to include the full list of opportunities (name, amount, stage, status, close date).
get_account_details
Fetch call recording summaries for an account. Use this tool to get recent call recordings with contacts at a specific account. Returns AI-generated summaries and key moments from calls, useful for understanding past discussions, objections raised, and commitments made. Provide either opportunity_id (int), opportunity_external_id (CRM external ID), or account_external_id (string). If an opportunity is given, the account is resolved automatically.
get_call_recordings
Fetch the latest AI-generated assessment for a deal (opportunity) or account. Parameters: - `record_type`: "Opportunity" or "Account" - `record_id`: Internal ID (integer) - `record_external_id`: CRM external ID (string, alternative to record_id) Provide `record_type` and either `record_id` or `record_external_id`. **Opportunity** assessments return deal health insights: signal (short headline), summary, risks, engagement level, and momentum. **Account** assessments return account health insights: summary, health score, engagement/adoption levels, risks, and recommended actions.
get_assessment
Explain WHY the AI forecast changed between two dates in the same fiscal quarter. Use this tool for questions like "why did my forecast drop this week?", "what changed in the team's forecast since the start of the quarter?", or "which deals moved my number?". For the CURRENT forecast snapshot (amounts, quota, attainment), use get_forecast_stats instead — this tool only explains changes. The total forecast delta is decomposed into six buckets that sum exactly to it: - closed_won_delta: deals that closed won during the window - closed_lost_delta: deals that closed lost during the window - moved_in_delta: deals whose close date moved INTO the quarter - moved_out_delta: deals whose close date moved OUT of the quarter - weighted_change_delta: deals in scope at both dates whose amount x win-probability shifted - not_yet_created_delta: change in the projection for deals not yet created Scope (same as get_forecast_stats): - crm_user_id provided: analyze one user's forecast (from search_users_by_name) - team_id provided: analyze a team's forecast (from search_teams_by_name) - Neither: organization-wide (requires org-level permissions) Never pass both team_id and crm_user_id. Dates: - start_date (required) and end_date (optional, defaults to now), ISO YYYY-MM-DD. - BOTH DATES MUST BE IN THE SAME FISCAL QUARTER. To analyze "this quarter so far", use the quarter start date from get_org_context as start_date and omit end_date. The tool errors if the dates span quarters. Returns analysis{} with: start/end dates, quarter boundaries, the six bucket deltas, total_ai_forecast_delta, and top_increases[]/top_decreases[] — the top_n deals driving the change, each with change_type (bucket), delta, and old/new amount, probability, and close date.
get_forecast_change_analysis
Fetch the latest AI forecast evaluation for an opportunity. Provide either `opportunity_id` (internal) or `opportunity_external_id` (CRM external ID). Returns win probability and forecast recommendations: - Suggested forecast category (Commit, BestCase, Pipeline, etc.) - Win probability percentage (0-100%) - Confidence score (0-1) - Detailed reasoning for the evaluation
get_forecast_evaluation
Get forecast statistics for a user, team, or organization. Returns closed won, commit, best case, pipeline amounts with quota and attainment. Also returns the manually-submitted forecast (commit/best case + notes) for the scope and period. Scope: - crm_user_id provided: Single user forecast - team_id provided: Team forecast (all members) - Neither: Org-wide forecast (requires permissions) Period: - period_start/period_end: Custom date range (ISO YYYY-MM-DD). IMPORTANT: period_end is EXCLUSIVE (that date is not included in results). Example: for Q1 Jan-Mar, use period_start="2026-01-01", period_end="2026-04-01" (NOT "2026-03-31"). - Omit both to use the organization's default forecast period (RECOMMENDED — automatically uses the org's fiscal year calendar). This is the current fiscal quarter for most orgs, or the current calendar month for orgs configured to forecast monthly. Prefer this over manually computing period dates. Returns users[], totals{}, period{}, manual_forecast{}, error. Each user has: - closed_won_amount: Already closed in the requested period - commit_amount, best_case_amount, pipeline_amount: Open pipeline by category - predicted_close_amount: WHERE THEY WILL LAND = closed_won + probability-weighted open - period_quota: Quota for the requested period (prorated if custom period, else full quarter) - quarter_quota: Full quarterly quota (always) - is_quota_prorated: Boolean flag indicating if period_quota was prorated - attainment_pct: % achieved (closed_won / period_quota) manual_forecast (null if none submitted) has: - commit_amount: Manually committed forecast amount - best_case_amount: Manually submitted best case amount - note: The commit note from the manually-submitted forecast
get_forecast_stats
Retrieve open (pending) action items / todos for one or more opportunities. Use this tool when the user asks about outstanding tasks, next steps, or action items for specific deals/opportunities. Input (provide one): - opportunity_ids: list of internal opportunity IDs (use search_opportunities or list_opportunities to find them first) - opportunity_external_ids: list of CRM external opportunity IDs (alternative to opportunity_ids) Returns a list of open todos with title, description, priority, category, due date, and other metadata. Todos with `requires_email = true` additionally include `suggested_recipients` (curated contact email addresses) and `email_context` (guidance on what the email should accomplish) when available — use these with the `draft_sales_email` tool.
get_open_todos_for_opportunities
Fetch opportunity details from the database. Accepts either `opportunity_ids` (list of internal IDs) or `opportunity_external_ids` (list of CRM external IDs). Returns detailed information for each accessible opportunity including name, amount, stage, close date, forecast category, owner, and links. IDs that are inaccessible or not found are reported in not_found_ids. Optionally accepts extra_fields — a list of CRM field API names (from discover_custom_fields) to include custom field values from the CRM record. Extra field values appear under an "extra_fields" key on each opportunity. Optionally accepts account_extra_fields — a list of Account CRM field API names (from discover_custom_fields with crm_object_type="Account") to include custom field values from the related Account record. Values appear under an "account_extra_fields" key on each opportunity. Note: Access is scoped based on user permissions. Users without `opportunities_see_all` permission can only view their own opportunities.
get_opportunity_details
Return the caller's organization context, current fiscal quarter, and allowed forecast periods. Use this tool at the start of a conversation (or whenever date-based filters are needed) to ground the model in the org's fiscal calendar. Different organizations can start their fiscal year in different months, so "this quarter" is not a universal span — always rely on this tool instead of computing quarters from the wall-clock date. Returns: - organization_id, organization_name - fiscal_year_start_month (1-12) - today (ISO date, UTC) - current_quarter: number (1-4), label (e.g. "Q1"), start (inclusive ISO date), end (exclusive ISO date) - current_month: start (inclusive ISO date), end (exclusive ISO date) - allowed_forecast_periods: list of period types the org forecasts on (any of "quarter", "month"). Use this to pick a valid `period` value for set_forecast / get_forecast_stats.
get_org_context
Fetch recent emails for an opportunity or account. Provide either `opportunity_id` (or `opportunity_external_id`) or `account_external_id` to scope the results. When an opportunity is provided, the account is resolved automatically. Returns emails from every mailbox the organization has synced plus CRM-synced emails.
get_recent_emails
List accounts with optional filters and sorting. Results are paginated (default 50 per page, max 50). Use the `page` parameter to fetch additional pages when `total_matching` exceeds the returned count. Supports filtering by: - team_id: Filter by team/AE group - owner_id: Filter by owner's CRM user ID - custom_filters: Filter by Account custom CRM fields (object_type="Account"). custom_filters format: Each filter is a dict with keys: "field" (CRM API name from discover_custom_fields, e.g. "Region__c" — not the human label), "operator", and "value". Pick an operator compatible with the field's type_category: - string: equals, not_equals, in, not_in, contains, not_contains, starts_with, is_null, is_not_null - picklist: equals, not_equals, in, not_in, is_null, is_not_null - multipicklist: equals, not_equals, in, not_in, contains, not_contains, contains_all, starts_with, is_null, is_not_null - number/currency: equals, not_equals, in, not_in, gt, gte, lt, lte, is_null, is_not_null - date/datetime: equals, not_equals, in, not_in, gt, gte, lt, lte, is_null, is_not_null (value must be ISO-8601) - boolean: equals, not_equals, is_null, is_not_null (value must be true/false) value must be a list for in/not_in/contains_all; omit value (or use null) for is_null/is_not_null; use a single scalar otherwise. Invalid or incompatible entries are dropped before the query runs, so always call discover_custom_fields first to confirm the field name and type_category. Supports sorting by: name, created_at Each account includes an opportunity summary with open_count, closed_won_count, closed_lost_count, total_open_amount, and total_closed_won_amount. Results are scoped based on user permissions.
list_accounts
List opportunities with optional filters and sorting. Use the `status` parameter to filter by opportunity status: - "all" (default): All opportunities regardless of status - "open": Only open opportunities - "closed_won": Only closed-won opportunities - "closed_lost": Only closed-lost opportunities - "closed": All closed opportunities (won and lost) Results are paginated (default 50 per page, max 50). Use the `page` parameter to fetch additional pages when `total_matching` exceeds the returned count. The response includes `page` (current page) and `total_pages` for navigation. Supports filtering by: - forecast_category: Rep's forecast (Commit, BestCase, Pipeline, Omitted) - suggested_forecast: AI-suggested forecast - team_id: Filter by team/AE group - owner_id: Filter by owner - forecast_mismatch: True = AI differs from rep forecast - close_date_from/to: Date range (ISO format YYYY-MM-DD) - amount_min/max: Amount range - custom_filters: Filter by Opportunity custom CRM fields (object_type="Opportunity"). - account_custom_filters: Filter by Account custom CRM fields (object_type="Account"). Same dict format as custom_filters. - momentum: AI-assessed deal momentum. Values: positive, neutral, negative - engagement_level: AI-assessed engagement level. Values: high, medium, low, none - forecast_bias: Forecast mismatch direction. Values: over_optimistic, over_pessimistic - win_probability_trend: Trend of win probability over recent evaluations. Values: improving, declining, stable custom_filters / account_custom_filters format: Each filter is a dict with keys: "field" (CRM API name from discover_custom_fields, e.g. "Region__c" — not the human label), "operator", and "value". Pick an operator compatible with the field's type_category: - string: equals, not_equals, in, not_in, contains, not_contains, starts_with, is_null, is_not_null - picklist: equals, not_equals, in, not_in, is_null, is_not_null - multipicklist: equals, not_equals, in, not_in, contains, not_contains, contains_all, starts_with, is_null, is_not_null - number/currency: equals, not_equals, in, not_in, gt, gte, lt, lte, is_null, is_not_null - date/datetime: equals, not_equals, in, not_in, gt, gte, lt, lte, is_null, is_not_null (value must be ISO-8601) - boolean: equals, not_equals, is_null, is_not_null (value must be true/false) value must be a list for in/not_in/contains_all; omit value (or use null) for is_null/is_not_null; use a single scalar otherwise. Invalid or incompatible entries are dropped before the query runs, so always call discover_custom_fields first to confirm the field name and type_category. Supports sorting by: amount, close_date, name
list_opportunities
Search for accounts by name. Uses fuzzy matching to find accounts even with typos or partial matches. Returns account details including external ID, name, website, domain, and owner. Results are scoped based on user permissions. Users without 'opportunities_see_all' permission will only see accounts they own.
search_accounts
Search organization documents using semantic similarity. Returns the most relevant document chunks matching the query. Useful for finding policies, playbooks, pricing guides, competitive intel, etc. Args: query: Natural language search query describing what to find top_k: Number of relevant chunks to return (default: 5, max: 10) document_id: Optional - filter results to a specific document (by internal ID)
search_documents
Search for emails using semantic similarity. Optionally filter by `opportunity_id` (or `opportunity_external_id`) or `account_external_id` to scope results to a specific deal or company. When neither is provided, searches across all emails in the organization. Unlike keyword search, this finds emails based on meaning, so "budget concerns" would match emails about "cost constraints" or "pricing objections".
search_emails
Search for opportunities by name or account name. Uses fuzzy matching to find opportunities even with typos or partial matches. By default searches across all opportunities (open and closed). Use the `status` parameter to filter results: - "all" (default): Search across all opportunities - "open": Only open opportunities - "closed_won": Only closed-won opportunities - "closed_lost": Only closed-lost opportunities - "closed": All closed opportunities (won and lost) Results are scoped based on user permissions. Users without 'opportunities_see_all' permission will only see their own opportunities.
search_opportunities
Search for teams (AE groups) by name using fuzzy matching. Use this tool to find teams when given a name like "Enterprise" or "West Coast". Also answers "who manages/runs team X?" and shows how teams nest. Returns a list of matching teams, each with: - id, name, and team members - manager: the team's manager ({id, name, email}), or null - parent_team: the team this team nests under ({id, name}), or null If no query is provided (empty string), returns all teams in the organization.
search_teams_by_name
Search for CRM users by name using fuzzy matching. Use this tool to find users when given a name like "John" or "Mary Smith". Handles typos and variations (e.g., "Jon" finds "John"). Also answers "who is X's manager?" and "what does X manage?". Returns a list of matching users, each with: - id, name, email - team: the user's team ({id, name}), or null - manager: the user's direct manager ({id, name}), or null - manages_teams: teams the user manages ([{id, name}]). Only the roots of the managed subtree are listed; managing a root implies managing its sub-teams.
search_users_by_name
Create or update a sales forecast. Use this tool when a user wants to set the commit amount, best case amount, or add a note to a forecast. Period selection (use `period`): - "default": use the organization's allowed forecast period. Works only if the org forecasts on a single period (quarter OR month). If the org allows both, the tool returns an error and you must specify a period explicitly. - "current_quarter" / "next_quarter": use the current or next fiscal quarter. Rejected if the org doesn't forecast on quarters. - "current_month" / "next_month": use the current or next calendar month. Rejected if the org doesn't forecast on months. Call `get_org_context` if you need to know which periods the org allows. Level selection (inferred from intent — provide at most one of ae_group_id or crm_user_id): - "update my forecast" / "set my numbers" → omit both ae_group_id and crm_user_id (updates the calling user's own personal forecast). - "set [rep name]'s forecast" / "update the commit for [rep] on their behalf" → provide crm_user_id (that rep's personal forecast; resolve the name to an ID with search_users_by_name). - "update the forecast for my team" / "set the team forecast for [team name]" → provide ae_group_id (resolve the team name to an ID with search_teams_by_name). Parameters: - period: One of "default", "current_quarter", "next_quarter", "current_month", "next_month". Defaults to "default", which will update the current forecast. - ae_group_id: Team ID (from search_teams_by_name). Provide for team-level forecasts. - crm_user_id: CRM user ID (from search_users_by_name). Provide to set an individual rep's personal forecast on their behalf; omit to set your own. - commit_amount: The commit amount — the rep's high-confidence number. - best_case_amount: The best case amount — optimistic scenario. - note: Optional note or comment attached to this forecast update. Permissions: - Your own personal (sales) forecast: requires manage_sales_forecast permission. - Another rep's personal forecast (via crm_user_id): requires manage_reps_forecast permission (sales managers / admins). - Team level: requires manage_team_forecast permission (team managers). Call search_users_by_name / search_teams_by_name first if you need to resolve a name to an ID.
set_forecast
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Pace alternatives on ChatGPT?
As of 2026-09-11, Pace competes with Anagram, ASPR, Backstory, Caretta, Demodesk, Gong, Hero by Vivun, Jiminny, Kong, Quo, SalesEQ, Stratyfix, Zoom Revenue Accelerator in ChatGPT Conversation & Revenue Intelligence, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.