accounts_get
ChatGPTSingle account with its enriched deals.
accounts_list
ChatGPTPaginated accounts (each embeds its enriched deals). Owned + team for user scope; whole tenant for admin.
coaching_get_development_plans
ChatGPTHistorical development-plan phases for a rep. Non-admins are forced to their own account.
coaching_get_meeting
ChatGPTCoaching tips (6 categories: rapport, active listening, discovery, value engineering, objection handling, closing) plus speech metrics for a coachee in a meeting. Both the coachee email and full name are required.
coaching_get_reviews
ChatGPTNarrative coaching reviews (person-level or per-deal) plus development-plan context. Pass crm_link_ids=[""] for a person-level review.
deals_generate_insights
ChatGPTQueues regeneration of a deal’s AI insights/overview ("what has happened + next steps"). Takes the NUMERIC deal id (deals_list id). Background job: the response includes the PREVIOUS build’s recap_generated_at — poll deals_get_insights until its timestamp moves past that baseline. Confirm with the user before calling unless they explicitly asked to (re)generate.
deals_get
ChatGPTFetch a single deal by its handle (or numeric id). Cross-tenant access is rejected.
deals_get_coaching_scores
ChatGPTAggregated sales + engagement scores and speech metrics across a deal's meetings.
deals_get_contacts
ChatGPTContacts associated with a deal's account.
deals_get_insights
ChatGPTDeal briefing: what has happened + next steps (deal recap).
deals_get_meddpicc
ChatGPTMEDDPICC scoring and raw extraction for a deal. Accepts a deal handle (deal_<uuid>) or the CRM deal id.
deals_get_team_members
ChatGPTTeam members attached to a deal.
deals_list
ChatGPTPaginated deals visible to the connected user (owned + deal-team). Supports search and sort. Returns { result, totalPages, totalCount }.
documents_generate
ChatGPTQueues AI generation of a document. Per-deal types (briefing, ae_csm_handover, sdr_ae_handover) need target_id = CRM DEAL id; case_study needs target_id = CRM ACCOUNT id; company-wide reports (top_reasons, recap, product_feedback) need NO target_id. Generation runs in the background (minutes): after triggering, tell the user it is queued and poll documents_get_deal for status Pending→Success. Generating a briefing also produces that deal’s briefing PODCAST as a by-product. Set regenerate=true only when the user explicitly asks to REgenerate an existing document. Confirm with the user before calling unless they explicitly asked to generate.
documents_get_deal
ChatGPTFetches a generated document (briefing, case_study, ae_csm_handover, sdr_ae_handover, recap, top_reasons, product_feedback) for a CRM deal. Returns the full document CONTENT (render it for the user) plus app_link — always show that link so the user can open the document in ASPR. Handover/recap documents are docx files with no inline text: those return download_link instead of content — always give the user that link. If no completed document exists you get {status: "Pending"} (still building) or {status: "No document"}; this tool never triggers generation. Accepts a deal handle (deal_<uuid>) from search/fetch/pipeline_deals, or the CRM deal id (same id deals_get_meddpicc uses).
fetch
ChatGPTFetch the full record for a search result id (deal:<id>, account:<id>, or meeting:<id>).
leads_list
ChatGPTPaginated leads (owned for user scope; company-wide for admin).
meeting_get
ChatGPTFull meeting record incl. instances, participants, scores and sentiment.
meeting_get_deal_sentiment
ChatGPTEWMA sentiment nowcast / momentum for a deal.
meeting_get_meddpicc
ChatGPTMEDDPICC field values extracted from a meeting.
meeting_get_recap
ChatGPTAI recap of a past meeting.
meeting_get_sentiment_by_date
ChatGPTPer-meeting sentiment for a month (YYYY-MM) or a start/end date range.
meeting_get_suggested_email
ChatGPTAI-drafted follow-up email for a past meeting.
meeting_get_transcript
ChatGPTRaw transcript text for a meeting. Accepts a meeting handle (meeting_<uuid>) or a meeting uuid. May contain PII.
meeting_list_past
ChatGPTPaginated past meetings with search, score sort and insight filters.
meeting_list_upcoming
ChatGPTPaginated upcoming meetings — what's next on the calendar — with search and deal filter. Use the returned meeting ids with premeeting_get_insights for AI prep.
podcast_generate_premeeting
ChatGPTQueues generation of the pre-meeting training podcast for a meeting (a meeting handle or numeric id). Requires existing pre-meeting insights. Background job: poll podcast_get_premeeting_by_meeting — a build_status of 100 (or a new podcast id) means it is ready. Confirm with the user before calling unless they explicitly asked to generate. (Deal BRIEFING podcasts are generated via documents_generate type=briefing, not here.)
podcast_get
ChatGPTScript (transcript text) + timestamps for one podcast. Tenant-scoped. Take the arguments from a podcast_list row: id → podcast_id, podcast_type → source. For briefing_document/uploaded_document podcasts also pass the row's document_id; premeeting podcasts need no document_id (resolved server-side).
podcast_get_premeeting_by_meeting
ChatGPTOne-hop lookup of a meeting's pre-meeting podcast by its meeting handle (from search/fetch/meeting_list_*/meeting_get). ALWAYS prefer this over paging podcast_list when the user asks for a specific meeting's podcast. Returns the podcast row (id, document_id, podcast_type, build_status); follow up with podcast_get for the script.
podcast_list
ChatGPTPaginated AI training podcasts (briefing, pre-meeting and uploaded-document sources) with title/status. Use podcast_get for full metadata. For a specific meeting's podcast use podcast_get_premeeting_by_meeting instead of paging this list.
premeeting_generate
ChatGPTDESTRUCTIVE regeneration of pre-meeting insights: the existing insights are DELETED FIRST, then rebuilt (a failed run leaves the meeting with none), and the rebuild FANS OUT to related meetings with the same participants. You MUST get the user’s explicit confirmation in the conversation before calling; set confirmed=true only after they said yes. Poll meeting_get until isPreMeetingProcessed is true, then read premeeting_get_insights.
premeeting_get_insights
ChatGPTAI prep for an upcoming meeting: briefing, stakeholders, discovery questions, tactical plan, client news and recap.
salesbrief_get_today
ChatGPTThe rep's brief for one day, composed exactly as the ASPR dashboard composes it: that day's meetings, each with its pre-meeting TL;DR (mission, in-the-room action, commitment to lock, risk), grouped morning / afternoon / evening. Defaults to today in the rep's own timezone; pass date (YYYY-MM-DD) for another day. Meetings whose prep has not been generated are listed separately under not_briefed with no TL;DR. This tool NEVER substitutes a different day: if meetings is empty, tell the user there is nothing scheduled for that date rather than reporting some other day.
search
ChatGPTSearch across deals, accounts and past meetings. Returns citeable results ({ id, title, url }); pass an id to fetch for the full record.
whoami
ChatGPTThe connected user's own profile: their name, work email and role, plus their company (full name, work domain(s), and description). Use this to greet the user or answer "who am I", "what's my email", or "what company am I with". Returns no internal ids — refer to the user by name/email and the company by name/domain.