- Brand
- Unknown
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
K3X is a CRM. This plugin gives ChatGPT the same access a team member has in one K3X workspace, and nothing more. In chat you can find companies, people and deals by name, email or phone and read their records, owners, custom fields and pipeline stage. You can see what happened on a company from its activity feed. You can create and update leads, contacts and deals, one at a time or in batches of up to 50, archive and restore records, reassign owners, and set custom fields. You can also review, create, edit, activate, pause or archive the workspace's AI agents. You sign in to K3X and pick one workspace. Every action runs as you, within the permissions you approve and your role. The plugin never sends email, SMS or invites and never runs an agent.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-09-30
- Tool count
- 61
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
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

Get alerts for K3X
Get updates when K3X’s Discoverability Score or category rank changes.
Competitive lineup
61 tools agents can invoke
Activate a draft or paused AI agent in the connected K3X workspace by `agentId`. `agentId` is the `id` of an agent returned by `list_agents` or `create_agent`. The agent immediately begins responding to its configured triggers and schedule. Returns {"id", "name", "state": "active", "webhookEnabled"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
activate_agent
Archive (soft-delete) an AI agent in the connected K3X workspace by `agentId`. `agentId` is the `id` of an agent returned by `list_agents`. Cancels pending runs, stops all triggers, and hides the agent from `list_agents`. Returns {"id", "name", "state", "webhookEnabled"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
archive_agent
Archive (soft-delete) an active contact (person) in the connected K3X workspace by `contactId`. `contactId` is the `id` of a contact returned by `search_contacts`, `get_contact_details`, or nested inside a lead. Hides the contact from searches while preserving history (reversible via `restore_contact`). Does not remove links to leads (use `unlink_contact_from_lead` if you only want to detach from a specific company). The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
archive_contact
Archive (soft-delete) a custom field definition in the connected K3X workspace by `customFieldId`. `customFieldId` is the `id` of a custom field definition from `list_custom_fields`. Hides the field from `list_custom_fields` and record views while preserving underlying historical data. Returns {"id", "archived": true}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
archive_custom_field
Archive (soft-delete) an active deal in the connected K3X workspace by `dealId`. `dealId` is the UUID of an active deal returned by `search_deals` or `create_deal`. Hides the deal from active searches and the pipeline board while preserving history (reversible via `restore_deal`). Returns the archived deal's {"id", "name"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
archive_deal
Archive (soft-delete) an active lead (company) in the connected K3X workspace by `leadId`. `leadId` is the `id` of a lead returned by `search_leads` or `get_lead_details`. Hides the lead from searches and the active pipeline while preserving all history (reversible via `restore_lead`). Does not delete associated contacts, deals, or activity feed. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
archive_lead
Set the full owner list of a lead (company) in the connected K3X workspace. `leadId` is the `id` of a lead returned by `search_leads` or `get_lead_details`. This REPLACES existing owners — to add a new owner while keeping existing ones, include the current owner membership ids plus the new one. To clear all owners pass `[]`. Use `list_organization_members` to map team member names to `membershipId` values, and `get_lead_details` if you need the current owner list to preserve. Returns the updated lead's {"id", "name"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
assign_lead_owner
Append the same email address to up to 50 contacts in the connected K3X workspace. `contactIds` are ids from `search_contacts`. `email` is the email address to add, and `label` is an optional label (e.g. "Work"). Skips contacts that already have that email. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_add_contact_email
Append the same phone number to up to 50 contacts in the connected K3X workspace. `contactIds` are ids from `search_contacts`. `phone` is the phone number in E.164 format, and `label` is an optional label (e.g. "Mobile"). Skips contacts that already have that phone. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_add_contact_phone
Append the same website URL to up to 50 leads in the connected K3X workspace. `leadIds` are ids from `search_leads`. `website` is a full URL including scheme. Skips leads that already have that website. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_add_lead_website
Archive (soft-delete) up to 50 active contacts in the connected K3X workspace by `contactIds` from `search_contacts`. Hides them from search while preserving history (reversible via `bulk_restore_contacts`). Returns `archived` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_archive_contacts
Archive (soft-delete) up to 50 active leads in the connected K3X workspace by `leadIds` from `search_leads`. Hides them from search while preserving history (reversible via `bulk_restore_leads`). Returns `archived` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_archive_leads
Change the owners of up to 50 leads in the connected K3X workspace. `leadIds` are ids from `search_leads`. `organizationMembershipIds` are membership UUIDs from `list_organization_members`. `mode` is "set" (replaces owners, [] clears), "add" (appends), or "remove" (drops specified). Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_assign_lead_owner
Create up to 50 contacts (people) in the connected K3X workspace in a single call. Pass `contacts` array with `firstName`, `lastName`, optional `leadId` (to link to a company), `emails`, `phoneNumbers` (E.164), and `timezone`. Best-effort: returns `created` contacts and `skipped` count. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_create_contacts
Create up to 50 leads (companies) in the connected K3X workspace in a single call. Pass `leads` array containing `name` and optional `websites` (full URLs including scheme). Best-effort: returns `created` items and `skipped` count. A created item may carry `failures` listing the parts that did not apply (e.g. "website https://example.com") — the company exists, so add the missing part with `update_lead` rather than creating the company again. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_create_leads
Create up to 50 companies each with ONE linked contact in a single call. Pass `pairs` array containing `company` (name, address, websites, timezone) and `contact` (firstName, lastName, emails, phoneNumbers, timezone). Creates the company and contact atomically per pair. Each `created` entry carries the new company id; the person id is not returned — read it from `search_contacts`. Best-effort: returns `created` pairs and `skipped` count. `skipped` counts only pairs where nothing was created. A `created` entry whose `contact` is null means the company exists without its person — add the person with `create_contact` using the returned company id; do NOT re-send the pair, which would create a second company. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_create_leads_with_contacts
Remove an email address from up to 50 contacts in the connected K3X workspace. `contactIds` are ids from `search_contacts`. Pass `email` to remove matching email or omit to clear ALL emails from targeted contacts. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_remove_contact_email
Remove a phone number from up to 50 contacts in the connected K3X workspace. `contactIds` are ids from `search_contacts`. Pass `phone` to remove matching phone or omit to clear ALL phone numbers from targeted contacts. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_remove_contact_phone
Remove a website from up to 50 leads in the connected K3X workspace. `leadIds` are ids from `search_leads`. Pass `website` to remove matching URL or omit to clear ALL websites from targeted leads. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_remove_lead_website
Replace an existing email address `from` with a new email `to` across up to 50 contacts in the connected K3X workspace. `contactIds` are ids from `search_contacts`. Only contacts with matching `from` are modified. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_replace_contact_email
Replace an existing phone number `from` with a new phone `to` across up to 50 contacts in the connected K3X workspace. `contactIds` are ids from `search_contacts`. Both `from` and `to` must be in E.164 format. Only contacts with matching `from` are modified. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_replace_contact_phone
Replace an existing website URL `from` with a new URL `to` across up to 50 leads in the connected K3X workspace. `leadIds` are ids from `search_leads`. Only leads with matching `from` are modified. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_replace_lead_website
Restore up to 50 previously archived contacts in the connected K3X workspace by `contactIds` from `search_contacts` with `archivedOnly`. Inverse of `bulk_archive_contacts`. Returns `restored` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_restore_contacts
Restore up to 50 previously archived leads in the connected K3X workspace by `leadIds` from `search_leads` with `archivedOnly`. Inverse of `bulk_archive_leads`. Returns `restored` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_restore_leads
Set the SAME custom field value across up to 50 contacts (people) in the connected K3X workspace. `contactIds` are ids from `search_contacts`. `customFieldId` is the UUID of a custom field definition from `list_custom_fields` with recordType "contact". `value` is the value to store. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_set_contact_custom_field
Set the SAME custom field value across up to 50 leads (companies) in the connected K3X workspace. `leadIds` are ids from `search_leads`. `customFieldId` is the UUID of a custom field definition from `list_custom_fields` with recordType "lead". `value` is the value to store. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_set_lead_custom_field
Update up to 50 contacts in the connected K3X workspace in one call. `contactIds` are the `id` values of contacts returned by `search_contacts`. Pass `contactIds` and `timezone` to set the timezone across all targeted contacts. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_update_contacts
Update up to 50 existing leads in the connected K3X workspace in one call. `leadIds` are the `id` values of leads returned by `search_leads`. Pass `leadIds` and either `name` transform steps (append, prepend, replace, trim) or `timezone`. Pass either `name` transforms or `timezone`, not both. Returns `updated` and `skipped` counts. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
bulk_update_leads
Create a new AI agent in the connected K3X workspace. `name` is Title Case, 2-5 words (e.g. "Inbound Lead Welcome"). `goal` is a second-person run directive describing what the agent DOES at run time (e.g. "Send the welcome sequence and offer a call."). `tools` is an optional list of CRM write capability labels (e.g. "createLead", "updateDeal"). Email/SMS/Meeting steps auto-grant their send tools. `steps` is the ordered plan of steps (email, sms, meeting, crm_action, push_webhook) the agent executes; each step requires a fresh UUID `id`. For push_webhook steps: `pushWebhook: { destinationUrl, payloadSchema }` with an HTTPS destinationUrl and an array of `{ key, type, description? }` fields (for array fields like contacts or deals, declare child keys in description like `description: "{firstName, lastName, email, phone, revenue}"` or `description: "{name, amount, stage}"`; for company webhooks, never flatten contacts or deals into scalar fields — always use arrays of objects; all fields are nullable, if unset pass null not block). If unspecified, always ask the user what to send. Never include description in the payload (use clean name, type, and value). `triggers` configures event-based or time-based activation. `schedule` is an optional cron expression. The agent starts in "draft" state and does nothing until activated via `activate_agent`. Constraints default to empty ({}). The agent executes as the team member who authorized this connection. `handoff` summarizes the conversation in which this agent was designed — it is seeded into the agent's design chat in K3X so the user can keep refining it there. Record what the user actually wants, the choices made and why, and especially every case they ruled out or wanted handled differently; the `goal` alone cannot carry those. Returns the new agent's {"id", "name", "state", "webhookEnabled"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
create_agent
Create a person (contact) in the connected K3X workspace, optionally linked to a company. Pass `leadId` — the `id` of a lead from `search_leads` or `get_lead_details` — to attach the person to that company, or omit it to create a standalone person, which is fully supported. `emails` and `phoneNumbers` are each stored as separate entries; phone numbers should be E.164 (e.g. "+15551234567"). `lastName` is required and cannot be empty — if the surname is genuinely unknown, ask rather than guess. `timezone` is an optional IANA timezone name (e.g. "America/New_York"). To create a company and its FIRST person together, use `create_lead` with its `contact` field instead: that creates both atomically. Use this tool for the second and subsequent people on a company. Returns the new contact's {"id", "firstName", "lastName"}; use `get_contact_details` or `search_contacts` to read the whole record back. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
create_contact
Create a new custom field DEFINITION (column schema) in the connected K3X workspace. `name` is the display name of the field (e.g. "Industry", "Referral Source"). `type` is one of "text", "url", "number", "currency", "datetime", "single_select", "multi_select". `recordType` is one of "lead" (Companies), "contact" (People), or "deal". Both `type` and `recordType` are immutable after creation. `options` is a required non-empty array of option label strings when `type` is "single_select" or "multi_select" (and invalid for other types). Nothing is deduplicated — call `list_custom_fields` first and reuse an existing field instead of creating a second one with the same name, type and recordType. A field whose name matches an existing one but whose recordType differs is NOT a duplicate. Returns the created custom field definition with its server-assigned `id` and option IDs. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
create_custom_field
Create a new deal in the connected K3X workspace attached to an existing company (lead) and pipeline stage. `name` is the deal name (e.g. "Q3 Expansion", "Enterprise License"). `leadId` is the UUID of an existing lead from `search_leads`. `dealStageId` is the UUID of a pipeline stage from `list_deal_stages`. `amount` is the monetary value of the deal as a non-negative number (or null/omitted). Returns the created deal's {"id", "name"}. Nothing is deduplicated — call `search_deals` first and reuse an existing deal instead of creating a second one with the same name. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
create_deal
Create a new lead (company) in the connected K3X workspace, with as much of its structure as you have. `name` is the company name. `address` is a single free-text postal address. `websites` takes full URLs including the scheme (https://example.com) — a bare domain is rejected. `contact` creates ONE person on the new company in the same call, with their `emails` and `phoneNumbers` — prefer that over creating the company and the person separately, because the two are created together and a bad email or phone rolls both back rather than leaving an empty company behind. Phone numbers should be E.164 (e.g. "+15551234567"). To add more people to the same company afterwards, call `create_contact` with the returned `leadId`. The new lead is owned by the user who authorized this connection. Returns the new lead's {"id", "name"}; use `get_lead_details` or `search_leads` to read the whole record back, including everything written here. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
create_lead
Fetch the complete definition of a single AI agent in the connected K3X workspace by `agentId`. `agentId` is the `id` of an agent returned by `list_agents` or `create_agent`. Returns the full editable agent definition including name, goal, description, state, triggers, schedule, steps (with their step ids and channel payloads), tools, constraints, and the builder `thread` (with its conversation messages and design context) when one exists. Use this to inspect how an agent is configured, review its design conversation, or to read existing step ids before calling `update_agent`. The inbound webhook URL is never returned over this API. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
get_agent
Fetch the full detail of a single contact (person) in the connected K3X workspace by `contactId`. `contactId` is the `id` of a contact returned by `search_contacts`, `create_contact`, or nested inside a lead. Returns the complete record including first name, last name, timezone, emails and phone numbers (each with its entry id), linked companies (leads), and custom fields. Use this to resolve individual entry ids (such as email or phone entry ids) needed by `update_contact`. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
get_contact_details
Fetch the chronological activity feed for a lead (company) in the connected K3X workspace by `leadId`. `leadId` is the `id` of a lead returned by `search_leads`. Returns timeline items: field edits, contact link/unlink events, deal updates, emails, SMS messages, calls, and meetings. `filter` optionally scopes to a specific channel ("all", "emails", "calls", "sms", "meetings"). The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
get_lead_activity_feed
Fetch the full detail of a single lead (company) in the connected K3X workspace by `leadId`. `leadId` is the `id` of a lead returned by `search_leads`. Returns the complete record including name, address, timezone, websites (each with its entry id), linked contacts/people (with their emails, phone numbers, and ids), deals, owners, and custom fields. The `deals` key is present only when this connection was also granted deals access; when it is absent, that says nothing about whether the lead has deals. Use this to read the full record or resolve individual entry ids (such as `websites[].id` or `contacts[].id`) needed by update tools. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
get_lead_details
Attach an existing contact (person) to an existing lead (company) in the connected K3X workspace so they appear in `lead.contacts[]`. `leadId` is the `id` of a lead from `search_leads` or `create_lead`. `contactId` is the `id` of a contact from `search_contacts` or `create_contact`. Idempotent — re-linking an already-linked pair is safe. Inverse of `unlink_contact_from_lead`. Does not move or copy the contact — the same contact can be linked to multiple leads. Returns {"leadId", "contactId"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
link_contact_to_lead
List AI agents in the connected K3X workspace. Filter by lifecycle state ("draft", "active", or "paused") with `state`, or omit to list all agents. Page through larger result sets with `limit` and `skip`. Returns {"total", "items"}: each entry carries the agent id, name, description, goal, state, triggers, webhook status, and timestamps. Use `get_agent` to fetch the full editable plan (steps, tools, constraints). The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
list_agents
List all custom field DEFINITIONS in the connected K3X workspace (not the per-record values). Takes no arguments. Returns each field's `id`, `name`, `type` (text, url, number, currency, datetime, single_select, multi_select), `recordType` ("lead" = Companies, "contact" = People, "deal" = Deals), and `options` array for select fields (null for other types). Each field belongs to exactly ONE record type. Call this before `set_lead_custom_field` or `set_contact_custom_field` to resolve `customFieldId` and check valid option labels/ids and expected types. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
list_custom_fields
List all pipeline stages configured in the connected K3X workspace in display order. Takes no arguments. Returns `stages` where each entry carries `id`, `name`, `order`, and `kind` ("active", "won", or "lost" — use it to tell which stage closes a deal). Use this to discover `stageId` values before calling `create_deal`, `update_deal`, or `move_deal_to_stage`. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
list_deal_stages
List all team members in the connected K3X workspace — each with `membershipId`, `firstName`, `lastName`, `email`, and `role`. Takes no arguments. Use this to discover `membershipId` values for owner filtering (e.g. `ownerMembershipIds` in `search_leads` and `search_contacts`) and owner assignment. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
list_organization_members
List outbound webhook deliveries for an AI agent in the connected K3X workspace. `agentId` is the `id` of an agent returned by `list_agents` or `create_agent`. `status` filters by delivery status: "queued", "delivered", or "failed". Omit for all statuses. Returns the total count and delivery records including destinationUrl, status, payload, errorMessage, deliveredAt, and failedAt. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
list_outbound_deliveries
Move an existing deal to a different pipeline stage in the connected K3X workspace. `dealId` is the UUID of an existing deal from `search_deals` or `create_deal`. `stageId` is the UUID of the target pipeline stage from `list_deal_stages`. Returns {"id", "name", "stageId"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
move_deal_to_stage
Pause an active AI agent in the connected K3X workspace by `agentId`. `agentId` is the `id` of an agent returned by `list_agents`. Cancels queued runs and any scheduled emails/SMS messages the agent had armed. Returns {"id", "name", "state": "paused", "webhookEnabled"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
pause_agent
Restore a previously archived contact (person) in the connected K3X workspace by `contactId`. `contactId` is the `id` of an archived contact returned by `search_contacts` (with `archived: true`). Makes the contact visible again in searches. Inverse of `archive_contact`. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
restore_contact
Restore a previously archived deal in the connected K3X workspace by `dealId`. `dealId` is the UUID of an archived deal returned by `search_deals` with `archived: true`. Makes the deal visible again in searches and the pipeline board. If the parent company (lead) is archived, you must restore the company before restoring the deal. Returns the restored deal's {"id", "name"}. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
restore_deal
Restore a previously archived lead (company) in the connected K3X workspace by `leadId`. `leadId` is the `id` of an archived lead returned by `search_leads` (with `archived: true`). Makes the lead visible again in searches and the active pipeline. Inverse of `archive_lead`. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
restore_lead
Search contacts (people) in the connected K3X workspace by name, email, or phone number. `query` is a case-insensitive partial match on the contact first name, last name, email, or phone number; omit it to list the most recently created contacts. Page through larger result sets with `limit` and `skip`, and set `archived` to true to search archived contacts instead of active ones. Returns {"total", "items"}: `total` is the number of matching contacts and `items` is the requested page, each entry carrying the contact id, first/last name, emails, phone numbers, and linked companies. Sort with `sortBy` (fullName, createdAt, updatedAt) and `sortDirection`, which is one of "asc" or "desc" and defaults to "desc" when omitted — these sort on the person's own dates. `createdWithin` / `updatedWithin` take a relative range such as "today", "last_7_days" or "this_quarter" (absolute dates are not supported) and match on the LINKED COMPANY's created/updated date, not the person's own — they answer "people at companies added last week", so a person added today to a company added last year will NOT match `createdWithin: "today"`. To rank people by when they were added, sort with `sortBy: "createdAt"` instead. Filter by owner with `ownerMembershipIds`, using the `membershipId` values from `list_organization_members` or `owners[].organizationMembershipId` values from a `search_leads` / `get_lead_details` result, or use `unassignedOnly` to find contacts linked to leads with no owner at all — people are owned through their company, so both filters match on the linked company's owners and a person linked to no company matches neither. `ownerMembershipIds` and `unassignedOnly` are mutually exclusive. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter — every call answers for that one workspace.
search_contacts
Search deals in the connected K3X workspace by name. `query` is a case-insensitive partial match on the deal name; omit it to list the most recently created deals. Page through larger result sets with `limit` and `skip`, and set `archived` to true to search archived deals instead of active ones. Returns {"total", "items"}: `total` is the number of matching deals and `items` is the requested page, each entry carrying the deal id, name, amount, stage, and parent company (lead) with its owners and people. Custom field values are not part of the result. The workspace is fixed by the authorization this connection was granted, so there is no organization parameter.
search_deals
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.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.