add_email_list_members
ChatGPTAdd leads or contacts to an email list. Contacts are resolved to a lead in this workspace, creating one when needed. People already on the list are left unchanged. By default, newly added leads are also queued onto campaigns on this list that have not started sending.
add_email_list_members_from_date_range
ChatGPTAdd leads created or updated within an inclusive date range to an email list. People already on the list are left unchanged. matched is how many leads fell in the range; added is how many were newly inserted.
add_email_list_members_from_tags
ChatGPTAdd every lead or contact in the workspace that currently has one of the given tags to an email list. This is a snapshot: later tag changes do not change the list. People already on the list are left unchanged.
create_company
ChatGPTCreate a new company in the CRM
create_contact
ChatGPTCreate a new contact in the CRM
create_contact_email_draft
ChatGPTCreate a saved email draft for a contact. This does not send the email.
create_crm_action
ChatGPTLog or schedule a CRM action for a lead, contact, company, or opportunity. Use mode logged for completed actions and scheduled for future actions. reminderAt is optional; when present, a reminder job is queued.
create_email_list
ChatGPTCreate an email list in the current workspace. The calling user becomes the list owner.
create_email_topic
ChatGPTCreate a new email topic. Name is how the topic is referenced in YoUEx.ai. Subject is the email subject line and is used the same way the topic title used to be. Owned by the calling user. A legacy title still fills whichever of name or subject is omitted.
create_lead
ChatGPTCreate a new lead in the CRM
create_lead_email_draft
ChatGPTCreate a saved email draft for a lead. This does not send the email.
create_opportunity
ChatGPTCreate a new sales opportunity
create_reminder
ChatGPTCreate an ad hoc reminder. It can stand alone or link to a lead, contact, company, or opportunity. Leave assignedUserId empty to assign the linked record's owner, or the creator when that record has no owner or no record is linked.
delete_company
ChatGPTDelete a company
delete_contact
ChatGPTDelete a contact
delete_contact_email_draft
ChatGPTDelete a saved contact email draft. Refuses drafts that have already been sent or are scheduled to send.
delete_crm_action
ChatGPTRemove a CRM action reminder. The caller must be the assignee. Playbook-generated reminders are marked complete instead of deleted, so a later sync does not recreate them. Auto-logged touchpoints and form submissions cannot be deleted. Ad hoc reminders use delete_reminder.
delete_email_list
ChatGPTPermanently delete an email list, its membership, and its campaigns. This cannot be undone.
delete_email_list_campaign
ChatGPTDelete an email list campaign and its pending generation and send jobs. Saved lead drafts and sent-email history stay on the lead records. Refuses a campaign that is still generating or sending.
delete_email_list_campaign_draft
ChatGPTDelete one unsent draft from an email list campaign. The lead stays on the list. Refuses drafts that have already been sent or are scheduled to send.
delete_email_list_member
ChatGPTRemove one lead from an email list. The lead record itself is kept.
delete_email_topic
ChatGPTDelete an email topic
delete_lead
ChatGPTDelete a lead
delete_lead_email_draft
ChatGPTDelete a saved lead email draft. Refuses drafts that have already been sent or are scheduled to send.
delete_leads_by_emails
ChatGPTDelete multiple leads by exact email addresses
delete_opportunity
ChatGPTDelete an opportunity
delete_reminder
ChatGPTDelete an ad hoc reminder. The caller must be the owner or the creator.
find_companies
ChatGPTSearch for companies by name or industry
find_contacts
ChatGPTSearch for contacts by name, email, or company
find_leads
ChatGPTSearch for leads by name, email, or company
find_opportunities
ChatGPTSearch for opportunities by name or company
get_contact_email_draft
ChatGPTView one saved contact email draft by ID.
get_crm_research_report
ChatGPTGet the full stored research report and sources for a lead, contact, or company. Use list/search tools first to find the record ID.
get_crm_summary
ChatGPTGet a summary of CRM data including counts of leads, contacts, companies, and opportunities
get_email_list
ChatGPTGet a single email list by ID.
get_email_list_campaign
ChatGPTGet one email list campaign by ID, including generation and send status. Draft copy is edited with update_email_list_campaign_draft.
get_email_list_member
ChatGPTGet one email list membership by list ID and lead ID.
get_email_topic
ChatGPTGet a single email topic by ID
get_lead_conversations
ChatGPTGet a lead's full chat conversations with the web agent (most recent first), including message transcripts and collected info. Use this to read exactly what a lead discussed. Sensitive visitor data (IP address, precise coordinates, raw user agent) is excluded. Scope is a single lead identified by leadId.
get_lead_email_draft
ChatGPTView one saved lead email draft by ID.
get_lead_engagement
ChatGPTGet a lead's web engagement in one call: an insights-ready summary of the pages they viewed and the CTAs they clicked on the website (captured by the web agent), an interactionsByType breakdown of their non-page-view activity keyed by <surface>:<eventType> (shared video playback and Q&A, web chat, public calendar booking), plus their chat conversations with the agent (collected info and recent messages). pageViewCount and topPages count website page views only. Use this to analyze what a specific lead is interested in. Scope is a single lead identified by leadId.
get_lead_history
ChatGPTGet a lead's lifecycle timeline (most recent first): created/updated, status changes, tier scoring, routing decisions, assignment changes, research/enrichment, and conversion. This is the CRM-side history of what happened TO the lead — complementary to get_lead_engagement, which shows what the lead DID on the site and in chat. Scope is a single lead identified by leadId.
get_reminder
ChatGPTRead one ad hoc reminder by ID. The caller must be the owner or the creator.
list_companies
ChatGPTList companies with cursor pagination. When hasMore is true, call again with nextCursor as cursor.
list_contact_email_drafts
ChatGPTView saved email drafts for a contact, including send/scheduled status and sent message metadata.
list_contacts
ChatGPTList contacts with cursor pagination. When hasMore is true, call again with nextCursor as cursor.
list_crm_actions
ChatGPTList CRM actions logged or scheduled for a specific lead, contact, company, or opportunity assigned to the current MCP user.
list_crm_reminders
ChatGPTList the authenticated user's scheduled CRM action reminders across every record in the workspace, sorted by reminder time. Defaults to upcoming reminders with no end date. Use scope=overdue for reminders whose time has already passed, or scope=range with from/to for a specific window. Only scheduled reminders are returned (not logged activity).
list_email_list_campaign_members
ChatGPTList the people included in an email list campaign and each person's draft, if one exists. Add or remove people with the email list member tools. People added to the list are queued onto campaigns that have not started sending. Edit a person's email with update_email_list_campaign_draft.
list_email_list_campaigns
ChatGPTList the campaign runs on an email list, newest first. Each campaign snapshots a topic or sequence and tracks its own drafts and sends. Edit a list's name with update_email_list.
list_email_list_members
ChatGPTList the leads on an email list, including each member's name and email. Stale members whose leads were deleted are omitted. When hasMore is true, call again with nextCursor as cursor.
list_email_lists
ChatGPTList the workspace's email lists. Optionally filter by name or description. When hasMore is true, call again with nextCursor as cursor.
list_email_topics
ChatGPTList the workspace's email topics. Name is the in-app reference. Subject is the email subject line. Optionally filter by a search term.
list_lead_email_drafts
ChatGPTView saved email drafts for a lead, including send status and sent message metadata.
list_lead_page_views
ChatGPTList a lead's raw public engagement events (most recent first): website page views and clicks captured by the web agent, plus shared-video, web-chat and public-calendar events. Each row carries eventType and surface. Use this to drill into the exact pages, CTAs and interactions behind a lead's engagement summary. Scope is a single lead identified by leadId.
list_leads
ChatGPTList leads with cursor pagination. Use this for requests like recent leads, latest leads, all leads, leads from today, leads from yesterday, or leads from the last 7 or 30 days. When hasMore is true, call again with nextCursor as cursor.
list_opportunities
ChatGPTList opportunities with cursor pagination. When hasMore is true, call again with nextCursor as cursor.
list_reminders
ChatGPTList ad hoc reminders for the authenticated user. These reminders may or may not be linked to a CRM record. Defaults to open reminders assigned to the caller, including future due dates. Use list_crm_reminders for scheduled CRM action reminders.
open_crm_record_editor
ChatGPTOpen an interactive ChatGPT CRM editor widget for creating or editing a lead, contact, company, or opportunity. Pass recordType to select the branch, then only include prefill fields for that record type.
open_crm_report_card
ChatGPTOpen a visual ChatGPT CRM report card showing lead tiers, pipeline value, new leads logged, and upcoming scheduled reminders.
open_lead_research_card
ChatGPTOpen a formatted YouEx.ai lead research card in ChatGPT Apps. Use this when the user asks to view lead research as a card or formatted view.
refresh_crm_research_report
ChatGPTRefresh research for a lead, contact, or company. Leads are queued on the research worker; contacts and companies are marked pending and refreshed in the background.
schedule_email_draft
ChatGPTSchedule a saved email draft (lead or contact) to send automatically at a future time. Create or retrieve the draft first. If the draft is already scheduled, this returns needsConfirmation unless overwrite is true.
send_contact_email_draft
ChatGPTSend a saved email draft to its contact using the workspace email transport. Retrieve or create a draft first, then pass its draftId.
send_lead_email_draft
ChatGPTSend a saved email draft to its lead using the workspace email transport. Retrieve or create a draft first, then pass its draftId.
update_company
ChatGPTUpdate an existing company. Use tagsMode=unchanged unless changing tags.
update_contact
ChatGPTUpdate an existing contact. Use tagsMode=unchanged unless changing tags.
update_contact_email_draft
ChatGPTUpdate the subject and/or body of a saved contact email draft. This does not send the email. Refuses drafts that have already been sent or are scheduled to send. Leave subject or body empty to keep the current value.
update_crm_action
ChatGPTUpdate a CRM action reminder, including playbook-generated home reminders. The caller must be the assignee. Set status to completed to mark one done. status=cancelled dismisses a seller-created reminder; on a playbook-generated reminder it marks the row complete so sync does not recreate it. A scheduled action may have no reminder time. Auto-logged touchpoints and form submissions cannot be edited. Use list_crm_reminders to find IDs. Ad hoc reminders use update_reminder.
update_email_list
ChatGPTUpdate an email list's name or description. Send only the fields that should change.
update_email_list_campaign
ChatGPTEdit an email list campaign's tone, length, or verbatim settings. Does not rewrite subject or body. Tone and length apply to unsent drafts. Turning Email Topic Verbatim on is stored on the campaign only; existing drafts stay unlabeled so a later rewrite can replace the old copy. Sent, scheduled, or in-flight drafts stay unchanged. Refuses campaigns that are still generating or have started sending. Email Topic Verbatim cannot be turned off. To change a single email, use update_email_list_campaign_draft.
update_email_list_campaign_draft
ChatGPTEdit the subject and/or body of one draft in an email list campaign. This does not send the email. Refuses drafts that have already been sent or are scheduled to send. Leave subject or body empty to keep the current value. Changing the body clears stored HTML.
update_email_topic
ChatGPTUpdate an existing email topic. Name is the in-app reference. Subject is the email subject line. Use keywordsMode=unchanged unless changing keywords.
update_lead
ChatGPTUpdate an existing lead. Use tagsMode=unchanged unless changing tags.
update_lead_email_draft
ChatGPTUpdate the subject and/or body of a saved lead email draft. This does not send the email. Refuses drafts that have already been sent or are scheduled to send. Leave subject or body empty to keep the current value.
update_opportunity
ChatGPTUpdate an existing opportunity. Use tagsMode=unchanged unless changing tags.
update_reminder
ChatGPTEdit an ad hoc reminder. The caller must be the owner or the creator. Use an empty assignedUserId to recompute ownership from the linked record, or the creator when the record has no owner. Use an empty objectType and objectId together to unlink a CRM record. Playbook and other CRM action reminders use update_crm_action instead.