Sumble
Account research for sales
- Category
- Sales & CRM
- Primary Subcategory
- B2B Prospecting & Contact Data
Integration details
Description
Sumble helps sales teams research companies, inspect technology use and hiring signals, find professional contacts, and save accounts or people to lists. Users can request email and phone reveals, generate account briefs, download results as CSV files, and find Sumble product documentation.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- B2B Prospecting & Contact Data
- Secondary Subcategories
- None listed
- Brand
- Sumble
- Access
- Account required
- First tracked
- 2026-06-05
- Tool count
- 36
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Sumble
Get updates when Sumble’s Discoverability Score or category rank changes.
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 B2B Prospecting & Contact Data
View Category36 tools agents can invoke
Add people to an existing contact list. Duplicates are silently skipped. Always share the list URL so the user can open it in Sumble. Workflow when a user provides names or LinkedIn URLs: 1. Call `FindMatchAndEnrichPeople` to resolve them to Sumble person IDs. 2. Call `AddContactsToList` with the matched IDs (use the "id" field from each result). If you already have Sumble person IDs (from a prior API call), pass them directly as people_ids. Args: reason: Why you are calling this tool. list_id: The contact list ID (from `ListContactLists` or `CreateContactList`). people_ids: Sumble person IDs to add.
AddContactsToList
Add organizations to an existing list. Pass Sumble organization IDs, slugs, or both. At least one is required. Workflow when a user provides company names or URLs: 1. Call `FindMatchAndEnrichOrganizations` to resolve them to Sumble IDs. 2. Call `AddOrganizationsToList` with the matched IDs (use the "id" field from each match result). If you already have Sumble org IDs (from a SQL query, FindMatchAndEnrichOrganizations, or another API call), skip step 1 and pass them directly as organization_ids.
AddOrganizationsToList
Create a new contact list (people list). Use `AddContactsToList` to populate it afterward. Always share the list URL so the user can open it in Sumble. Workflow when a user wants to build a people list: 1. Call `FindMatchAndEnrichPeople` to get Sumble person IDs. 2. Call `CreateContactList` to make the list. 3. Call `AddContactsToList` with the person IDs. If you already have Sumble person IDs (from a prior API call), skip step 1 and use those IDs directly. Always ask the user for the list name. If you have a good guess, you can suggest it in the prompt. Args: reason: Why you are calling this tool. name: Name for the new list.
CreateContactList
Create a new organization list. Use `AddOrganizationsToList` to populate it afterward. Always share the list URL with the user so they can view it in the dashboard. Workflow when a user provides company names or URLs: 1. Call `FindMatchAndEnrichOrganizations` to resolve them to Sumble IDs. 2. Call `CreateOrganizationList` to make the list. 3. Call `AddOrganizationsToList` with the matched IDs. If you already have Sumble org IDs (from a SQL query, FindMatchAndEnrichOrganizations, or another API call), skip step 1 and use those IDs directly. Always ask the user for the list name to use. If you have a good guess for the name, you can suggest it in the prompt. Do not create a new list just to change an existing list's name. Use `RenameOrganizationList` so the list keeps its id, URL, and organizations.
CreateOrganizationList
The primary jobs tool: look up jobs by id or search the jobs corpus, and return exactly the attributes you ask for, with optional related people. INPUT — provide EXACTLY ONE of: - `jobs` (list mode): up to 1000 entries, each {"job_id": <int>}. One result row per entry, in input order; entries that don't match a Sumble job come back with just their input echoed and cost nothing. - Filter mode: any of `organization_ids`, `organization_list_id`, and/or `query` (at least one required). With no organization scope the whole jobs corpus is searched. `limit`/`offset` apply to filter mode only. ORGANIZATION SCOPING (filter mode) — there is no name/domain org param. To scope to specific companies, first resolve names or domains to ids with FindMatchAndEnrichOrganizations (whose free attributes include `id`) and pass `organization_ids`. The query language's `organization EQ '<name>'` node is a fuzzy single-org match and can pick the wrong company — prefer explicit ids. For saved lists prefer the `organization_list_id` param over the query language's `organizations_list` field. SELECT — `attributes`. Every row always includes job_id and a sumble_url deep link for free, plus the free attributes (title). Paid attributes (1 credit each per returned job): description, location, posted_date, organization, technologies, teams, job_functions, job_levels, projects. `description` is the full posting text; selecting it allows at most 200 jobs per request in list mode. RELATED PEOPLE — pass `related_people` as {"attributes": [...], "limit": N} to also get the people likely involved in each job's hiring: scored hiring managers and team members at the posting organization, inferred from team, job function, location and technology similarity, not actual reporting lines. Available in BOTH modes, for at most 25 jobs per request (list entries or `limit`). Per-job limit is 1-25 (default 5); 1 credit per related person returned. Related people support the person attributes (name is free; linkedin_url, job_title, job_function, job_level, location, country, current_employer, technologies) except email/phone. COST — total = returned jobs x (1 + paid attributes) + related people returned. The API checks affordability up front and returns an error before doing any work the user can't pay for. A request whose worst-case cost is above 500 credits is refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to the next page, a refined query, or any other call. When asking, offer a cheaper sample as an alternative: the same request with a small `limit` (filter mode) or a handful of entities (match mode), so the user can check the results before paying for all of them. Always share sumble_url links with the user. Filter mode also returns a `source_data_url` linking to the matching jobs on Sumble (present when no org scope or exactly one org is given) — share it with the user too. QUERY SYNTAX (use `query` param): Operators: EQ, NEQ, IN, NOT IN. Combine with AND, OR. Group with parentheses. Values are single-quoted. IN/NOT IN use comma-separated values in parens. Available fields: ORGANIZATION / SCOPE FIELDS — filter which orgs to search jobs within: - organizations_list — EQ/IN. Restrict to a user's saved org list by numeric list ID. Use ListOrganizationLists to get IDs first. Use 'default' for the user's default list. Example: organizations_list EQ '42' - organization — EQ only. Fuzzy org name/URL. - industry — EQ/IN/NOT IN. - employee_count — EQ/IN. Range format: '100-1000', '1000-' (1000+), '-500'. - hq_location — EQ/IN/NEQ. Format: 'US', 'US:Texas', 'US:Texas:Austin'. Region codes: EMEA, APAC, NAMER, LATAM. - tag — EQ/IN (e.g. 'digital_native'). - funding_last_round_type — EQ/IN/NEQ/NOT IN. Values: 'pre_seed', 'seed', 'series_a' through 'series_h', 'series_h_plus', 'debt', 'grant', 'convertible_note', 'private_equity'. 'series_h_plus' is a virtual value that matches Series I and beyond (series_i..series_z under the hood). Raw 'series_i'..'series_z' are NOT accepted as filter values — use 'series_h_plus' instead. - funding_last_round_year — EQ. Range format like employee_count: '2022-2025', '2023-', '-2020'. - funding_last_round_raised — EQ. USD amount raised in the most recent round. Range format: '1000000-50000000', '100000000-', '-5000000'. - funding_total_raised — EQ. Range format in USD: '1000000-50000000', '100000000-', '-5000000'. - funding_valuation — EQ. Post-money valuation in USD. Range format: '10000000-1000000000', '1000000000-', '-50000000'. JOB FIELDS — filter which jobs to return: - technology — EQ/IN/NOT IN. Use slugs from SearchTechnologies. - technology_category — EQ/IN/NOT IN (e.g. 'gen-ai', 'mlops', 'cybersecurity'). - project — EQ/IN. Filter by project slug. Example: project IN ('cloud-migration', 'gen-ai-initiative') - job_function — EQ/IN/NOT IN (e.g. 'Machine Learning', 'Data Scientist', 'Engineer', 'Product Manager'). - job_level — EQ/IN/NOT IN (e.g. 'Senior', 'Manager', 'VP', 'Director'). - country — EQ/IN/NOT IN. Format: 'US', 'US:California', 'US:California:San Francisco'. Use full state names, not abbreviations. 'UK' is auto-converted to 'GB'. - hiring_period — EQ ONLY (not IN/NOT IN). Values: '2wk', '1mo', '3mo', '6mo', '1yr', '18mo', '2yr'. - NOTE: job_title and job_description are NOT available as filters. Use job_function and job_level. COMBINING FILTERS: Use AND to combine org fields with job fields. Do NOT use OR across org and job fields. Examples: - Jobs in a user's org list with specific tech: organizations_list EQ '42' AND technology IN ('snowflake', 'databricks') - Jobs in default list, ML roles, recent: organizations_list EQ 'default' AND job_function EQ 'Machine Learning' AND hiring_period EQ '3mo' - Jobs at large US companies using PyTorch: technology EQ 'pytorch' AND hq_location EQ 'US' AND employee_count EQ '1000-' - Jobs matching a project and function: project EQ 'cloud-migration' AND job_function IN ('Cloud Engineer', 'DevOps Engineer') - Basic tech + location: technology IN ('pytorch', 'tensorflow') AND country EQ 'US' - Function + level: job_function IN ('Machine Learning', 'AI Engineer') AND job_level EQ 'Senior' Args: reason: Why you are calling this tool. jobs: List mode entries, each {"job_id": <int>}. Mutually exclusive with the filter-mode params. organization_ids: Filter mode: Sumble organization ids to search within (at most 1000). organization_list_id: Filter mode: id of one of the user's saved organization lists. query: Filter mode: advanced query string. See QUERY SYNTAX. attributes: Job attributes to return (the free ones are always included). related_people: Optional related-people selection. limit: Max results, filter mode only (1-200, default 10). offset: Skip N results, filter mode only (default 0). allow_expensive_query: Set to true only after the user has confirmed this call's cost. One confirmation covers one call.
FindMatchAndEnrichJobs
Find, match, and enrich organizations in one call. This is the primary organizations tool. It resolves organizations and returns the exact baseline attributes and per-entity metrics you ask for. Provide EXACTLY ONE of: - organizations: a list of companies to resolve (match) by id, slug, name, url, and/or location, OR - query: an advanced-query string that selects organizations (search / filter mode). Leave the other one out. An empty list or an empty string is read as "not provided", so a host that fills every parameter still lands in the right mode. If results include URLs or links, always share them with the user. WHAT YOU GET BACK Each result row echoes its input and includes: - attributes: the baseline company fields you requested (null if the org could not be matched), and - entities: one result block per entity selection, with the requested metrics (and deep-link URLs). INPUT — organizations (match mode) A list of up to 1000 dicts. Each dict needs at least one of: - id: Sumble organization id (int) — bypasses matching - slug: Sumble slug (str) — bypasses matching - name: company name (str) - url: website or domain (str) - location: country name or code (str, optional; improves matching accuracy) Example: [{"name": "Sumble", "url": "sumble.com"}, {"id": 1726684}] INPUT — query (search / filter mode) An advanced-query string (syntax below). Use limit/offset to page and order_by_column/order_by_direction to sort. order_by is ONLY valid in this mode. Special sorts: - "people_concentration": all-time fraction of the org's tracked people in one job function. REQUIRES order_by_job_function (a job function name, e.g. "Data Engineer"; 400 if unknown). - "people_count_growth_1y": current YoY % growth of the org's people in one job function (latest month vs. one year earlier); orgs without growth data sort last in both directions. REQUIRES order_by_job_function. - "job_post_concentration": all-time fraction of the org's job posts matching a second advanced query. REQUIRES order_by_advanced_query (advanced-query syntax below, restricted to technology, technology_category, job_function, project, job_level, country; no excludes). The sort query only orders results — it does NOT filter them; orgs with no matching jobs sort as 0. The webapp cannot reproduce these orderings, so the response has no source_data_url for these sorts. Search results exclude permanently closed organizations by default; set include_closed=true to include them. Match mode always resolves closed organizations. Request the paid status/status_reason attributes to see which returned organizations are closed and why. SELECT — attributes A list of baseline fields to return. The free fields (id, name, slug, url, sumble_url) are ALWAYS returned automatically — you only need to list the paid attributes you want here. Each of these costs 1 credit per matched org: employee_count, industry, jobs_count, teams_count, jobs_count_rollup, jobs_count_no_rollup, teams_count_rollup, teams_count_no_rollup, people_count_rollup, people_count_no_rollup, headquarters_country, sumble_score, parent_id, subsidiary_ids, tags, status, status_reason, funding_total_raised, funding_valuation, funding_last_round_raised, funding_last_round_type, funding_last_round_date. `sumble_score` is Sumble's proprietary account-fit score for the CURRENT user's company / ICP (see caveat below). `account_status` is free (no credit cost) but NOT auto-included — request it explicitly. Values: 'customer', 'prospect', 'not_in_crm' — the CRM relationship between the org and the CALLING account (a customer account in your CRM, tracked in CRM but not a customer, or not in CRM at all). Only populated when the calling account has a linked CRM seat (Salesforce or HubSpot); 403 if requested without one. Also usable as a `query` filter field — see ADVANCED QUERY SYNTAX. SELECT — entities A list of per-entity metric selections. Each entity is a dict: - type (required): one of technology, job_function, project, technology_category, advanced_query - term (required): the slug / name / category slug / advanced-query string for that type - metrics (required): a list of metric names valid for the type, or the string "all" - granularity: REQUIRED for technology_category (and only valid there). "aggregate" rolls the category up into one set of counts; "exploded" returns per-component- technology counts (and multiplies cost by the number of component technologies). - since: optional YYYY-MM-DD; scopes job_post_count, job_post_used_count, team_count, and people_count to activity on/after this date. Does not affect *_growth_1y. The *_no_rollup metrics count only the organization's own records (subsidiaries excluded), pairing with the rollup counts so you can compute record-scope shares. They are all-time only: excluded from "all" when `since` is set, and rejected if requested explicitly alongside `since`. Valid metrics by type: - technology: job_post_count, job_post_used_count, people_count, team_count, job_post_count_growth_1y, job_post_count_no_rollup, team_count_no_rollup, people_count_no_rollup - job_function: job_post_count, team_count, people_count, people_count_growth_1y, job_post_count_growth_1y, people_concentration (fraction 0-1 of the org's tracked people in the job function; `since` scopes both the matching and total people counts), job_post_count_no_rollup, team_count_no_rollup, people_count_no_rollup - project: job_post_count, team_count, job_post_count_no_rollup, team_count_no_rollup - advanced_query: job_post_count, team_count, people_count, job_post_concentration (fraction 0-1 of the org's job posts matching the query; `since` scopes both the matching and total job counts) - technology_category: job_post_count, people_count, team_count, job_post_count_growth_1y (growth available only with granularity "exploded") Entity examples: - {"type": "technology", "term": "kubernetes", "metrics": "all"} - {"type": "technology_category", "term": "gen-ai", "metrics": ["job_post_count"], "granularity": "aggregate"} - {"type": "job_function", "term": "Data Engineer", "metrics": ["people_count"], "since": "2024-01-01"} TECHNOLOGY CATEGORY SLUGS (commonly used): crm, business-intelligence, cloud-data-warehouse, data-catalog, gen-ai, mlops, ml-training, cybersecurity, cloud-security, ci-cd, ipaas, event-streaming, data-pipeline-orchestration, etl, logging-observability-monitoring, data-quality-and-observability, customer-data-platform, feature-flagging-and-a-b-testing, vector-database, oss-data-science, commercial-data-science, infrastructure-as-code-tools, design, javascript, siem, edr, headless-cms, ccaas, endpoint-management, ecommerce-platform, vibe-coding, coding-agents, marketing-automation-platforms, frontier-ai-models, processing-units-and-chips, cloud-and-container-orchestration-platforms, identity-and-access-management ADVANCED QUERY SYNTAX (used for the `query` param and for `advanced_query` entity terms): Operators: EQ, NEQ, IN, NOT IN. Combine with AND, OR. Group with parentheses. Values are single-quoted. IN/NOT IN use comma-separated values in parens. LIMITATION: negation (NEQ / NOT IN) is only supported on industry, hq_location and organizations_list (as listed per field below). Negating any other field (e.g. technology) fails the whole query with 400 Invalid query. Available fields: - technology — EQ/IN only (no NOT IN). Use slugs from SearchTechnologies. - technology_category — EQ/IN only (no NOT IN). Slugs from the list above. - organization — EQ only. Fuzzy name/URL match. - organizations_list — EQ/IN/NOT IN. Values are numeric organization-list IDs as single-quoted strings (e.g. '12345'). Use this field to search orgs within a user's accounts, which can be retrieved via ListOrganizationLists. Use 'default' for the user's default list. Important: organizations_list must be a top-level clause, not nested within another clause/parentheses. - account_status — EQ/NEQ only, single value (no IN). Values: 'customer', 'prospect', 'not_in_crm'. The CRM relationship between the org and the CALLING account, same as the return attribute above. Requires the calling account to have a linked CRM seat — 403 otherwise. - industry — EQ/IN/NOT IN. - employee_count — EQ/IN. Range format: '100-1000', '1000-' (1000+), '-500' (up to 500). - hq_location — EQ/IN/NEQ. Format: 'US', 'US:Texas', 'US:Texas:Austin'. Use full state names, not abbreviations. 'UK' is auto-converted to 'GB'. Region codes: EMEA, APAC, NAMER, LATAM, Americas, Europe, MiddleEast, Africa. Use SearchLocations to find valid codes by name or list a location's children. - tag — EQ/IN. Valid slugs: 'is_ai_native', 'acquired_and_absorbed', 'b2b', 'b2c', 'closed', 'digital_native', 'freelancing', 'org_type_government', 'org_type_hospital', 'it_services', 'org_type_k12_school', 'org_type_nonprofit', 'is_private_equity_firm', 'is_private_equity_owned', 'professional_services', 'is_public_company', 'org_type_recruitment_agency', 'spinout', 'is_soe', 'org_type_university', 'is_venture_backed'. Tags are curated, exact-match labels. When the user's intent maps to one of these tags (e.g. "digital native companies" → 'digital_native'), use the tag field rather than industry, SIC code, or free-text terms. - sic_code — EQ (e.g. '7371'). - naics_code — EQ (e.g. '541511'). - funding_last_round_type — EQ/IN only (no NEQ/NOT IN). Values: 'pre_seed', 'seed', 'series_a' through 'series_h', 'series_h_plus', 'debt', 'grant', 'convertible_note', 'private_equity'. 'series_h_plus' is a virtual value that matches Series I and beyond (series_i..series_z under the hood). Raw 'series_i'..'series_z' are NOT accepted as filter values — use 'series_h_plus' instead. - funding_last_round_year — EQ. Range format like employee_count: '2022-2025', '2023-', '-2020'. - funding_last_round_raised — EQ. USD amount raised in the most recent round. Range format: '1000000-50000000', '100000000-', '-5000000'. - funding_total_raised — EQ. Range format in USD: '1000000-50000000', '100000000-', '-5000000'. - funding_valuation — EQ. Post-money valuation in USD. Range format: '10000000-1000000000', '1000000000-', '-50000000'. - primary_<category> — EQ/IN only (no NOT IN). Filter by an org's primary (dominant) technology within a specific category. Field name is "primary_" + the category slug with hyphens replaced by underscores. Examples: cloud-vendor -> primary_cloud_vendor cloud-data-warehouse -> primary_cloud_data_warehouse Values are technology slugs. Use '__none__' to find orgs with NO primary tech in a category. Only use when the user expresses dominance intent ("primary", "main", "standardized on"). Must be combined with a matching technology_category clause, or a technology clause whose technology belongs to that same category. IMPORTANT: Do NOT combine org filters with job filters (job_function, job_level, country) using OR. Query examples: - technology IN ('snowflake', 'databricks') AND employee_count EQ '1000-' - hq_location IN ('US:California', 'US:New York') - hq_location EQ 'EMEA' - technology EQ 'kubernetes' AND hq_location EQ 'US' AND employee_count EQ '1000-5000' - industry NOT IN ('Recruiting and Staffing') - organizations_list IN ('12345', '67890') - technology_category EQ 'cloud-data-warehouse' AND primary_cloud_data_warehouse EQ 'snowflake' Note: this tool is not the same as `ListOrganizationLists` and `GetOrganizationList`. Those tools are specifically for retrieving a user's accounts, and are good in combination with this tool (search within accounts via the `organizations_list` filter field). COST Total = matched_count × per-org cost. Per-org cost = 1 (base) + 1 per paid attribute + (metric count × explosion) per entity. `metrics: "all"` counts as every metric for that type; an exploded technology_category fans out by its component-tech count. This can get expensive — confirm with the user before large org lists or many attributes/entities. A request whose worst-case cost is above 500 credits is refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to the next page, a refined query, or any other call. When asking, offer a cheaper sample as an alternative: the same request with a small `limit` (filter mode) or a handful of entities (match mode), so the user can check the results before paying for all of them. ACCOUNT SCORE CAVEAT `sumble_score` (and ordering by account_score) is a proprietary score reflecting fit to the CURRENT user's company, products, and ICP.
FindMatchAndEnrichOrganizations
The primary people tool: resolve people and return exactly the attributes you ask for, with optional related people and contact reveals. TIMING — requests run as background jobs, but this tool waits for the result server-side, so most calls (all filter-mode queries, and match mode without contact reveals) return the finished result directly, like a normal tool call. When a request needs longer (contact reveals can take a few minutes), the response instead carries `status: "running"` and a `request_id`. Call this tool again with ONLY `request_id` to keep waiting — each such call waits up to ~35 seconds and returns either the finished result or `status: "running"` again; keep calling until you get a terminal status, and between calls do other useful work or update the user. Don't start a duplicate request while one is still running. `failed` means the lookup failed server-side and nothing was charged; you may retry once with a fresh request, and if that also fails, tell the user. The rare `not_found` status means the request timed out server-side — treat it like `failed`. An unknown or expired request_id returns an error. Input validation and affordability are checked when the request starts, so bad requests and insufficient credits still fail immediately. INPUT — provide EXACTLY ONE of: - `people` (match mode): up to 1000 entries, each identified by any of `person_id`, `linkedin_url`, and/or `email` (precedence: person_id > linkedin_url > email). One result row per entry, in input order; entries that don't match come back with just their input echoed and cost nothing. - Filter mode: `organization_ids` and/or `organization_list_id` (REQUIRED — people queries are organization-scoped; resolve names or domains to ids with FindMatchAndEnrichOrganizations first, whose free attributes include `id`) plus an optional `query` (see QUERY SYNTAX). `limit`/`offset` apply to filter mode only. SELECT — `attributes`. Every row always includes person_id, name, and a sumble_url deep link for free. Paid attributes (1 credit each per returned person): linkedin_url, job_title, job_function, job_level, location, country, current_employer (the employer org with its Sumble organization_id, slug, start date, and link), technologies (from the person's profile skills, normalized to Sumble's technology catalog, as name+slug objects), experience and summary (see below), person_score (see below). PROFILE — `experience` (1 credit) is the person's full LinkedIn-style role history, newest first: title, start_date/end_date (YYYY-MM), duration, location, the person's own description of the role, and an employer shaped like current_employer (organization_id, slug, and sumble_url when Sumble knows the organization, plus the employer's name and linkedin_url from the profile). `summary` (1 credit) is the profile's "About" section as the person wrote it. Both work in either mode (a match-mode request is capped at 200 people) and are never part of "all" — ask for them by name when the user wants a person's background or career path rather than just their current role. PERSON SCORE — `person_score` (1 credit) rates each person 0-100 against the user's ideal customer profile (ICP), with skill, job-function, and seniority contributions plus the matched technologies/job functions behind them. Filter mode only, and requires exactly ONE organization in scope and an ICP configured for the user's account — requests that don't meet this fail with a 400 explaining why. When selected, results come back ordered by the score, best leads first. Use it to rank the people at a target account. CONTACT REVEALS — `email` (10 credits) and `phone` (80 credits) are also selectable attributes, charged once per person on the first successful reveal; repeat reveals and not-found lookups are free. Match mode only, at most 25 people per request. EMAIL IDENTIFIERS — an entry identified only by email is resolved via reverse enrichment: +20 credits when it resolves to a returned person, free otherwise. At most 25 people per request when used. RELATED PEOPLE — pass `related_people` as {"direction": ["managers" and/or "direct_reports"], "attributes": [...]} to also get people up or down the org hierarchy for each matched person. Match mode only, at most 25 people per request, 1 credit per related person returned. Relationships are INFERRED from org structure and seniority signals, not actual reporting lines. Related people support the same attributes except email/phone, experience/summary, and person_score. COST — total = matched_count x (1 + paid attributes) + related people + contact reveals + email resolutions. The API checks affordability up front and returns an error before doing any work the user can't pay for. Credits are charged once, on the response that first returns the succeeded result — its `credits_used` is what was charged; kickoff and still-running responses report `credits_used: 0`. A request whose worst-case cost is above 500 credits is refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to the next page, a refined query, or any other call. When asking, offer a cheaper sample as an alternative: the same request with a small `limit` (filter mode) or a handful of entities (match mode), so the user can check the results before paying for all of them. LINKING A PERSON — `sumble_url` is the primary link for every person, including related people, and it is free. When `linkedin_url` was also selected, it is the secondary link: offer it alongside the Sumble profile, never in place of it. Always share sumble_url links with the user. JOB FUNCTIONS (top-level categories with children): - Executive, Board of Directors - Engineering & R&D: Data Analyst, Statistician, Data Scientist, Machine Learning (incl. MLOps Engineer), AI Engineer, Researcher, Engineer (Software Engineer, Security Engineer, DevOps Engineer, Data Engineer, Site Reliability Engineer, Cloud Engineer, etc.), Applied Scientist, Scientist - Product & Design: Product Manager, Designer (UX, Visual, Brand, etc.) - Strategy & Operations: Analyst, Strategy, Operations (Program Manager, Procurement & Supply Chain) - Information Technology: IT Support, IT Security, Business Systems, etc. - Healthcare Services: Physician, Nurse, Pharmacist - Sales: Account Executive, SDR - Marketing: Product Marketing, Growth, Content, Digital Marketing - Customer Support, Customer Success, Solutions - Revenue Operations (GTM Engineer) - Business Development - General & Administrative: Finance (Accountant, Financial Analyst), Legal & Compliance, Human Resources, Administrator - Consultant, Government, Education, Journalist JOB LEVELS (highest to lowest rank): Board Member, CXO, EVP, CVP, SVP, RVP, AVP, VP, Executive Director, Senior Director, Director, General Manager, Head, Associate Director, Senior Manager, Manager, Principal, Lead, Senior, Individual Contributor QUERY SYNTAX (use `query` param): Operators: EQ, NEQ, IN, NOT IN. Combine with AND, OR. Group with parentheses. Values are single-quoted. IN/NOT IN use comma-separated values in parens. Available fields: - job_function — EQ/IN/NOT IN. Use values from the JOB FUNCTIONS list above. - job_level — EQ/IN/NOT IN. Use values from the JOB LEVELS list above. - country — EQ/IN/NOT IN. Format: 'US', 'US:California', 'US:California:San Francisco'. Use full state names, not abbreviations. 'UK' is auto-converted to 'GB'. - technology — EQ/IN/NOT IN. Use slugs from SearchTechnologies. - since — EQ ONLY. ISO date format: '2023-01-01'. Returns people with data since that date. - hiring_period — EQ ONLY. Predefined buckets: '2wk', '1mo', '3mo', '6mo', '1yr', '18mo', '2yr'. Alternative to `since` for relative ranges. - person_name — EQ. - NOTE: job_title and job_description are NOT available as filters. Use job_function and job_level. Examples: - ML engineers in the US: job_function IN ('Machine Learning', 'AI Engineer') AND job_level IN ('Senior', 'Lead') AND country EQ 'US' - Data scientists in California: job_function EQ 'Data Scientist' AND country EQ 'US:California' - Senior PyTorch users: technology EQ 'pytorch' AND job_level EQ 'Senior' - Recent engineering hires: job_function EQ 'Engineer' AND since EQ '2026-01-01' - VPs in the UK: job_level EQ 'VP' AND country EQ 'UK' Args: reason: Why you are calling this tool. request_id: Resume waiting on a still-running request. When provided, all other arguments are ignored. people: Match mode entries. Mutually exclusive with the filter-mode params. organization_ids: Filter mode: Sumble organization ids to search within (at most 1000 combined with the list). organization_list_id: Filter mode: id of one of the user's saved organization lists. query: Filter mode: advanced query string. See QUERY SYNTAX. attributes: Person attributes to return (the free ones are always included). related_people: Optional related-people selection. limit: Max results, filter mode only (1-200, default 10). offset: Skip N results, filter mode only (default 0). allow_expensive_query: Set to true only after the user has confirmed this call's cost. One confirmation covers one call.
FindMatchAndEnrichPeople
Check your API key and account status. Free (no credits used). Further account details are available at https://sumble.com/account
GetAccountInformation
Get one contact list and its people. Fetch a list by id after calling `ListContactLists`. Contact information is present only for enriched contacts. Always share the list URL and the relevant person URLs with the user. Each person carries a `url` (their Sumble profile) and a `linkedin_url`: link the person by their Sumble `url`, and treat LinkedIn as secondary, offered alongside rather than instead. Costs 1 credit per returned person. A list of more than 500 people is refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to any other call. When the user asks to download the list as CSV, pass `file_name`. Ask Sumble and Slack attach the file automatically. In other MCP clients, present the authenticated Sumble download URL to the user. The response retains request, credit, and list metadata and describes the file's kind, row count, columns, and size, but omits the person rows. Do not recreate the file with code execution. Args: list_id: The contact list ID (from `ListContactLists`). reason: Why you are calling this tool. file_name: When set to a .csv filename, save the people as a downloadable file instead of returning their rows. allow_expensive_query: Set to true only after the user has confirmed this call's cost. One confirmation covers one call.
GetContactList
Get a sales intelligence brief for a target account. The brief is LLM-generated: it is a natural-language sales narrative synthesized by Google Gemini from Sumble's structured data (technology, people, team, and signal records). Treat it as an AI-written summary — it may phrase, infer, or emphasize beyond the underlying records. Use this when the user asks for account research, sales prep, prospecting angles, who to contact, relevant technology signals, team fit, or recent changes at a company. The brief is written for the user's own company/domain, so it explains why this target account may matter to the user's GTM motion. The response includes a Markdown body and a Sumble URL. The body combines sections such as: What's the Angle, Who To Contact First, The Intel, Which Teams Are The Best Fit, and Recent Changes. If the response includes `sumble_url`, share it with the user. This tool requires a Sumble organization ID. If the user gives a company name, domain, or slug, first use FindMatchAndEnrichOrganizations to resolve it to an organization ID. The tool waits while a brief is being generated. If generation does not finish within 45 seconds, it returns an error asking you to call GetIntelligenceBrief again for the same organization. Calling again is free: credits are charged only for a completed brief, so retry rather than handing the wait back to the user. Costs 50 credits when a completed brief is returned. Args: reason: Why you are calling this tool. organization_id: The ID of the organization to get an intelligence brief for.
GetIntelligenceBrief
Get your company's positioning and target-account intelligence profile. Call this before researching or prioritizing accounts, preparing calls, or drafting outreach. It combines your team's own sales guidance with Sumble's inferred ICP facets. Treat the team-written guidance as authoritative and the inferred facets as supporting evidence. Your team manages its guidance at https://sumble.com/account/alert-prompts. Free (no credits used). The response is stable for the session, so fetch it once and reuse it for follow-up work.
GetMyCompanyProfile
Get one saved organization list and its organizations by list_id. `account_status` is the CRM relationship between the org and the calling account: 'customer' for a customer account, 'prospect' for an account tracked in CRM but not marked as a customer, or 'not_in_crm' when no CRM record exists. `crm_url` links directly to the CRM record when unambiguous. `crm_url` is null when there is no CRM record or multiple ambiguous CRM matches. `account_status` is null only when the calling account has no linked CRM seat (Salesforce or HubSpot), meaning it is not configured for CRM data. Typically used after calling `ListOrganizationLists`. It is not filterable. Always share the list URL and the relevant Sumble profile URLs with the user. Costs 1 credit per returned item. A list of more than 500 organizations is refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to any other call. When the user asks to download the list as CSV, pass `file_name`. Ask Sumble and Slack attach the file automatically. In other MCP clients, present the authenticated Sumble download URL to the user. The response retains request, credit, and list metadata and describes the file's kind, row count, columns, and size, but omits the organization rows. Do not recreate the file with code execution. `GetOrganizationList` only retrieves saved lists. Use `FindMatchAndEnrichOrganizations` for a general organization search. Its `organizations_list` filter limits that search to one of the user's lists. Args: list_id: The organization list ID (from `ListOrganizationLists`). reason: Why you are calling this tool. include_deleted: If True, the list is returned even when it has been soft-deleted. Defaults to False. file_name: When set to a .csv filename, save the organizations as an downloadable file instead of returning their rows. allow_expensive_query: Set to true only after the user has confirmed this call's cost. One confirmation covers one call.
GetOrganizationList
Get recent sales signals (notable changes) for a target account. Organization signals are timely, sales-relevant events Sumble has detected at an organization — for example new hires using a tracked technology, leadership/champion moves, hiring trends for a job function, or technology adoption trends. Use this when the user asks what's recently changed at a company, for prospecting triggers, "why reach out now" angles, or recent activity worth a sales touch. This tool requires a Sumble organization ID. If the user gives a company name, domain, or slug, first use `FindMatchAndEnrichOrganizations` to resolve it to an organization ID. Each signal includes a human-readable title/subtitle, an optional sales angle, the signal date, a deep-link `sumble_url`, and structured fields where applicable (organization, job post, person, location, job function, and priority). Use `sumble_url` as the primary link to the signal for users to click on for more details. The Sumble page includes the full signal explanation, and will include links to the underlying data (e.g. job post, person profile). Where relevant, the response includes a `person_id`, which refers to the individual associated with the signal (e.g. a promotion or champion move), along with `person_sumble_url` and `linkedin_url` for that person. Link them by their `person_sumble_url` — it is the primary link — and treat `linkedin_url` as secondary, offered alongside rather than instead. You can use `person_id` with MCP tools such as `FindMatchAndEnrichPeople` for further research on that individual. Where relevant, the response includes a `job_post_id`, which refers to the job post associated with the signal (e.g. technology and project mentions). You can use `job_post_id` with MCP tools such as `FindMatchAndEnrichJobs` for further research on that job post. Optionally, filter signals by technology, by passing technology slugs in `technology_slugs`. Use `SearchTechnologies` for technology discovery or `LookupTechnologies` to resolve names, slugs, or aliases to canonical slugs. Empty or blank values are ignored. COST Costs 1 credit per signal returned. Requests above 500 credits are refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to any other call. Args: reason: Why you are calling this tool. organization_id: The ID of the organization to get signals for. technology_slugs: Optional technology slugs to filter signals by. allow_expensive_query: Set to true only after the user has confirmed this call's cost. One confirmation covers one call.
GetOrganizationSignals
Get an organization's CONFIRMED-USED technology stack, grouped by business function and technology category. IMPORTANT — this tool answers "what technologies does this org actually USE", not "what technologies are merely mentioned". Every technology returned here has already been filtered down to confirmed-used evidence (the same signal that powers the Tech Stack Overview page on sumble.com). This is DIFFERENT from, and more reliable for this question than: - `FindMatchAndEnrichOrganizations`'s `technology`/`technology_category` query filters and `job_post_count` metric, which match on ANY mention (including job posts that only reference a technology in passing, e.g. "experience with X a plus"), and - `job_post_count` vs `job_post_used_count` on that same tool's per-technology metrics, where only `job_post_used_count` is confirmed-used — this tool applies that same confirmed-used filter across an org's ENTIRE tech stack in one call, without you having to name technologies up front. Use this tool whenever the user asks what an organization's tech stack is, what tools/platforms/vendors a company uses, or wants to verify a technology is actually in production use (not just referenced) at that org. This tool requires a Sumble organization ID. If the user gives a company name, domain, or slug, first use FindMatchAndEnrichOrganizations to resolve it to an organization ID. WHAT YOU GET BACK A list of business functions (e.g. "Engineering & R&D", "Sales"), in the same order as the Tech Stack Overview page. Each contains up to five ranked technology categories (e.g. "Cloud Vendor", "CRM", "CI/CD"). Each category has: - technologies: the confirmed-used, top-tier ("primary") technologies in that category for this org, each with a `job_post_used_count` (number of job posts confirming active use) and, when known, the technology's own `domain`. - evidence: the FULL ranked list of every confirmed-used technology Sumble detected in that category for this org (a superset of `technologies`), each as `{name, job_post_used_count}`. Use this when the user wants the complete picture rather than just the headline picks. Business functions are always returned in display order. A business function with no detected confirmed-used technologies has an empty `categories` list; individual empty categories are omitted. COST Costs 1 credit per technology returned in `technologies` (across all categories). Organizations with no confirmed-used technologies are free. Requests above 500 credits are refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to any other call.
GetOrganizationTechStack
Read one page of Sumble's official product documentation. Call `ListDocumentation` first and pass a `path` from its results verbatim. Paths are exact, and cannot be guessed from a page's title or its published URL. An unrecognized path is an error, so do not invent one: list the pages again and pick from those. Link the user to the returned `url` when citing the page. Do not construct a documentation URL yourself. Free (no credits used).
GetDocumentationPage
List the user's contact lists (people lists). Use `GetContactList` afterward to retrieve the people in a specific list. Always share each list URL so the user can open it in Sumble. Costs 1 credit per returned list.
ListContactLists
List the user's organization lists, which contain their accounts. Use `GetOrganizationList` afterward to retrieve one list's organizations. Always share the relevant list URLs so the user can open them in Sumble. Each list has a type: "group" or "user". A "group" list is the user's territory, synced from their employer's CRM or territory management system. Questions about "my territory" or "my accounts" map to the group list. Lists the user built themselves have type "user". Costs 1 credit per returned list.
ListOrganizationLists
List the signal configs that decide which signals the user receives. A signal config is a standing rule -- "technology mentioned in a job post", "champion changed jobs", "hiring trend increasing" -- narrowed by a filter over organizations, technologies, job functions and other attributes. Every signal in the user's feed was generated by a signal config. Read-only: this tool cannot create, change, or delete a config. Use this to understand what the user actually watches, and therefore what they care about, before answering a question about their pipeline, their accounts, or their feed. It can also resolve a signal's `signal_config_id` (from `SearchSignals`) when the full config is visible to the user. Signals carry `signal_config_name` even when a coworker's individual config is not readable here. Each config includes its `id`, `name`, `slug`, `type`, `priority`, `scope`, lookback `days`, filter definition (`filter_by`, `advanced_query`, `people_filter`), optional `job_level` and `sales_play`, a `signal_count_7d` (how many signals it produced in the last 7 days -- a good proxy for how much of the feed it drives), and a `sumble_url` linking to its settings page. A deleted config is returned only when explicitly requested by ID; it has `deleted: true` and `sumble_url: null`. Always share useful `sumble_url` links with the user. `scope` says who a config belongs to: 'user' (the user's own), 'customer' (shared across their Sumble Enterprise account) or 'domain' (shared across their email domain). Only 'user' configs are theirs to change; the others are managed by their administrator, so route change requests accordingly. Without `signal_config_ids`, results are scoped exactly as the web app's signal settings page is and deleted configs are excluded. Supplying `signal_config_ids` performs a historical point lookup that can return deleted configs the user is authorized to read; it cannot be combined with `types` or `priorities`. When the account can see no configs, or a requested ID isn't visible to it, the response carries a `message` explaining why and an empty or reduced list -- relay that rather than retrying. Filters are combined with AND. Values inside each filter array are combined with OR (like IN). COST Free -- does not consume credits.
ListSignalConfigs
List every page of Sumble's official product documentation. Use this whenever the user asks how Sumble itself works, rather than asking for data out of Sumble. That covers: getting started and core concepts; what Sumble's data is and where it comes from; the filter reference; the paid REST API and its endpoints; MCP; the web app (search, org pages, teams, people, lists, signals, feed, alerts, exports, credits); the Slack agent; enterprise services (Enrich, Signals, account scoring); setup and configuration (users and SSO, Salesforce, HubSpot, Snowflake, Databricks, blob storage, Slack alerts); pricing and plans; and trust and security. Prefer this over a web search for anything Sumble documents. These are the same pages published at docs.sumble.com, and they are authoritative. Pages come back in the order the documentation's own navigation lists them. Read the listing, then fetch the page you need with `GetDocumentationPage`, passing its `path` verbatim. Free (no credits used). Args: reason: Why you are calling this tool.
ListDocumentation
List all available tables and their columns in the DuckDB. Returns table names with column names and types for each table. Use this to understand the schema before writing queries. Select the `slug` columns too if you plan to link to results — see RunSqlQuery for the profile-URL formats. Free (no credits used).
ListTables
Look up likely job function and level for job titles. Use this when you need deterministic job function and job level identifiers for follow-up API calls. Returns one result per input title, in input order. Either `job_function` or `job_level` is null when no confident match is available. Costs 1 credit per 100 matched titles. When the user asks for CSV, pass `file_name`. The response keeps its request, credit, and match metadata, and returns the classifications in the downloadable file instead of including them inline. Args: titles: Job titles to classify (e.g. "Senior Software Engineer", "Director of Sales"). reason: Why you are calling this tool. file_name: A `.csv` filename for the optional download.
LookupJobTitles
Look up project IDs, slugs, and names from project names or slugs. Use this when you need deterministic project identifiers for follow-up API calls. Returns one result per input, in input order. An unmatched input comes back with `project: null`. Costs 1 credit per 100 matched projects.
LookupProjects
Look up technology IDs, slugs, and names from names, slugs, or aliases. Use this when you need deterministic technology identifiers for follow-up API calls. Returns one result per input, in input order, and each matched technology carries the tech categories it belongs to. An unmatched input comes back with `technology: null`. Costs 1 credit per 100 matched technologies.
LookupTechnologies
Look up technology categories and the technologies they contain. Use this to enumerate the technologies that make up a category, given category slugs or names. Technologies mentioned most often in job postings appear first. Returns one result per input, in input order. An unmatched input comes back with `category: null`. Costs 1 credit per 100 matched categories.
LookupTechnologyCategories
Rename an existing organization list. Use this whenever the user wants a list called something else. Never create a replacement list to change a name. Only the name changes, so the list keeps its id, URL, and organizations. List names are not unique, so a rename never collides with another list. Only the user's own lists can be renamed. "Group" lists (territories synced from the user's CRM) are read-only and cannot be renamed.
RenameOrganizationList
Report a data quality or data coverage issue for the Sumble data team. Use this for anything about the *data itself*. That includes not only existing data that is wrong, missing, or stale, but also gaps in what Sumble covers -- a category, field, filter, project type, signal type, or taxonomy value the user needs but Sumble does not offer, and requests to change a data limit (e.g. "there is no ERP/CRM implementation project type", "raise the signal look-back cap", "add X as a filter"). Coverage gaps and requests for new data dimensions belong here, NOT in SubmitSupportRequest. Sends the report to the Sumble data team for triage. They may follow up at the account's email address. Free (no credits used). Args: reason: Why you are calling this tool. message: Description of the data quality issue or coverage gap. Be specific about what is wrong or missing and what you expected instead. url: The Sumble URL the issue relates to, if any. page_title: The title of the Sumble page the issue relates to, if any.
ReportDataQualityIssue
Execute a read-only SQL query against the Sumble DuckDB analytics database. Use this tool only when the structured search tools cannot express the user's question — for example, custom aggregations, joins across tables, or columns not exposed by those tools. For routine entity lookups (companies, people, jobs, technologies), use the structured tools listed below; they handle those cases directly. Structured tools that cover most questions: - FindMatchAndEnrichOrganizations: search/filter or resolve companies (by name, industry, technology, location, size, etc.) and enrich them with technology, job-function, project, and people metrics. - FindMatchAndEnrichJobs: look up jobs by id or search job postings by org, technology, job function, location, etc. - FindMatchAndEnrichPeople: resolve people by id/LinkedIn/email or search people by org, job function, seniority, location, etc. - SearchTechnologies: look up technologies by name/keyword. Sumble users are typically sales professionals, not SQL-literate. Do not surface the raw SQL — restate the answer in plain language along with the filters your query applied, so the user can confirm it matches what they asked. LINKING TO SUMBLE PROFILES: Unlike the structured tools above, this tool returns raw rows with no `sumble_url` field. If you intend to link to a result, you must SELECT the slug it needs and build the URL yourself: - Organization: https://sumble.com/orgs/{organizations.slug} - Person: https://sumble.com/orgs/{org slug}/people/{person_id} - Team: https://sumble.com/orgs/{org slug}/teams/{teams.slug} - Job post: https://sumble.com/orgs/{org slug}/jobs/{team slug}/jobs/{job id} Profile pages are keyed by SLUG, not by id. Never build a profile URL from a numeric organization id, an organization name, or a company domain — those do not resolve. Join to `organizations` for its `slug` whenever you plan to link to a result. If you did not select the slug, report the result without a link rather than guessing a URL. Args: sql: The read-only SQL query to execute. reason: A short explanation of what you are trying to find. allow_expensive_query: Set to true only after the user has confirmed this call's cost. One confirmation covers one call. file_name: A `.csv` filename for the optional download. TIPS: - Call ListTables first to discover tables, columns, and their descriptions. - JSON cols use DuckDB syntax: json_keys(), ->> operator. - Read-only, 30s timeout. A query that matches more than 1,000 rows fails, returns no rows and costs nothing. Use LIMIT (1,000 or less), aggregate in SQL, or narrow the WHERE clause. - Costs 1 credit per 100 bytes of response data. A result costing more than 500 credits is refused and nothing is charged unless `allow_expensive_query` is true. Confirm the spend with the user before setting it, once per call: a confirmation never carries over to another query. When asking, offer a cheaper sample as an alternative: the same query with a small LIMIT, so the user can check the rows before paying for all of them.
RunSqlQuery
Search the user's priority signals by source signal and entity IDs. Priority signals summarize and contextualize the most important signals in the user's account feed. Use this when the user asks for priority signals, or to enrich other search results, especially when focused on an organization, person, or job post. Each result includes an `id`, a web app URL, item headline/content, date, source `signal_ids`, searchable `organization_ids`, `person_ids`, and `job_post_ids`, and your relevance feedback (`is_relevant`: true/false/ null). Use `UpdatePrioritySignalRelevance` with a result's `id` to set or clear that feedback. Returns the most recent priority signals based on the specified filters, or omit filters to simply return the latest. Use `limit` (default 20, maximum 100) and `offset` (default 0, maximum 10000) to page through results. Filters are combined with AND. Values inside each filter array are combined with OR (like IN). COST Costs 1 credit per priority signal returned. Searches with no returned priority signals do not consume credits, so page with `limit`/`offset` deliberately rather than pulling large pages you don't need. Args: reason: Why you are calling this tool. filter: Filter criteria for the priority signals search. Supported filters: organization_ids, person_ids, signal_ids, job_post_ids, and is_relevant. limit: Maximum results to return (1-100, default 20). offset: Number of results to skip (0-10000, default 0).
SearchPrioritySignals
Search Sumble Signals by account, person, technology, job function, config, or list. Signals are timely, sales-relevant events Sumble has detected across accounts - for example champion movements, recent hires and promotions, technology and product mentions, projects and initiatives, and technology or job-function trends. Use this when the user asks for a filtered signal feed across many accounts, recent account changes, prospecting triggers matching technologies, job functions, people, or account lists, or what one of their configured signals has turned up lately. Each signal includes a `signal_id`, a human-readable title/subtitle, an optional sales angle, the signal date, a deep-link `sumble_url`, and structured fields where applicable (organization, job post, person, matched technologies, location, job function, priority, and the name of the signal config that generated it). A signal also includes the config ID when the full config is visible to the user; pass that ID to `ListSignalConfigs`. A coworker's individual config remains private even though its name explains why the signal appears in a shared domain feed. Always share useful `sumble_url` links with the user. To answer "what has my <name> signal found lately", resolve the name to a config ID with `ListSignalConfigs` and pass it in `signal_config_ids`. Where relevant, the response includes a `person_id`, which refers to the individual associated with the signal (for example a promotion, recent hire, or champion move), plus `person_sumble_url` and `linkedin_url` for that person. Link them by their `person_sumble_url` — it is the primary link. `linkedin_url` is secondary: offer it alongside, never instead. Use `FindMatchAndEnrichPeople` for further research on that individual. Where relevant, the response includes a `job_post_id`, which refers to the job post associated with the signal. Use `FindMatchAndEnrichJobs` for further research on that job post. Job-post signals (technology and product mentions, projects, and first mentions) also include `suggested_contacts`: the top few people to consider reaching out to at the account, ranked by a relevance `score` from 1 to 10 (highest first), each with a `person_id`, name, title, a `sumble_url` to their Sumble profile, and a `linkedin_url` — again, link the person by their `sumble_url` and treat LinkedIn as secondary. The enclosing `suggested_contacts.sumble_url` shows all matches. Use `FindMatchAndEnrichPeople` to research a suggested contact further. Each signal also includes `account_status`: the CRM relationship between the signal's organization and the calling account. Values: 'customer', 'prospect', 'not_in_crm' (a customer account in your CRM, tracked in CRM but not a customer, or not in CRM at all). Only populated when the calling account has a linked CRM seat (Salesforce or HubSpot); null otherwise. Filters are combined with AND. Values inside each filter array are combined with OR (like IN). RECENCY Returns only signals from the last 60 days, regardless of the other filters applied. The only exception is a direct lookup by `signal_ids`, which returns matching signals regardless of age. COST Costs 1 credit per signal returned. Searches with no returned signals do not consume credits, so page with `limit`/`offset` deliberately rather than pulling large pages you don't need. Args: reason: Why you are calling this tool. filter: Filter criteria for the signals search. Filters are combined with AND; values inside each filter array are combined with OR. Supported filters: organization_ids, person_ids, signal_ids, technology_slugs, job_functions, priorities, account_list_ids, and signal_config_ids. limit: Maximum results to return (1-100, default 100). offset: Number of results to skip (0-10000, default 0).
SearchSignals
Search Sumble's official product documentation. Use this first when the user asks how Sumble itself works. It searches each published page as one document and returns the best matching page paths, titles, URLs, and excerpts. Pass a result's `path` to `GetDocumentationPage` when the complete Markdown is needed. Link the user to the result's `url` when citing it. Free (no credits used).
SearchDocumentation
Search for technologies by name. Use this first to find valid technology slugs for `FindMatchAndEnrichOrganizations`, `FindMatchAndEnrichJobs`, and `FindMatchAndEnrichPeople`. The returned slugs also work in advanced queries as `technology IN ('slug1', 'slug2')`. Prefer `LookupTechnologies` when you already have a name, slug, or alias and want the one canonical technology it resolves to. This tool is the name-fragment search, so it returns up to 50 candidates ranked by how often each is mentioned. Costs 1 credit per search.
SearchTechnologies
Find codes for the hq_location and country filters. Country, state, and city codes work in both filters. Region codes work only in hq_location. Pass query, parent, or neither: - query="austin" searches country, state, and city names and aliases. Returns up to 100 results, ordered by exact name match, then job count. - parent="US" lists states. parent="US:Texas" lists up to 500 cities, ordered by job count. A region code lists subregions or countries. - Omit both fields to list top-level regions and countries. Passing both fields or a blank value returns a 422 error. Using an unknown code or a city code as parent returns a 400 error. Cities have no children. Use returned codes exactly as given. Examples are 'US', 'US:Texas', and 'US:Texas:Austin'. State codes use full names, such as 'US:California'. Name searches also match abbreviations, so query="CA" finds California. The United Kingdom's code is 'UK'. Region codes are EMEA, APAC, NAMER, LATAM, Americas, Europe, MiddleEast, and Africa. Name searches do not return regions. For jobs or people in EMEA, use parent="EMEA" to get Europe, MiddleEast, and Africa. Pass each returned code as parent to get its countries, then combine their codes in a country IN clause. For headquarters, use hq_location IN ('EMEA'). Results include ancestor names in path, whether the location has children in expandable, and counts of organizations headquartered there, job posts located there, and people located there. Costs 1 credit for a call with results. An empty result costs no credits.
SearchLocations
Soft-delete or restore an organization list. Deletion is reversible: pass `deleted=False` to restore a list. Deleting or restoring a list does not delete or restore individual organizations in the list. To find a deleted list to restore, call `ListOrganizationLists` with `include_deleted=True`. Only user-created lists can be deleted. "Group" lists (synced territories) are read-only and cannot be deleted or restored.
SetOrganizationListDeleted
Include or exclude an organization list's accounts from signals. Pass `include_in_signals=False` to exclude this list's accounts from your signals, or `True` to include them again. Lists are included by default. This mirrors the per-list signals toggle in the dashboard.
SetOrganizationListSignals
Submit a general account, billing, or access support request relating specifically to Sumble, and which can be addressed by Sumble's support team. Use this ONLY for account, billing, login/access, or how-to-use Sumble questions. Do NOT use it for anything about Sumble's data or coverage: wrong/missing/stale values, or requests for a new category, field, filter, project type, signal type, taxonomy value, or data limit change all go to ReportDataQualityIssue instead. Free (no credits used). Args: reason: Why you are calling this tool. message: Description of the support request. url: The Sumble URL the request relates to, if any.
SubmitSupportRequest
Mark a priority signal relevant, not relevant, or clear feedback. Mirrors the relevant/not relevant feedback buttons in the web app. Free -- does not consume credits.
UpdatePrioritySignalRelevance
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 Sumble alternatives on ChatGPT?
As of 2026-09-29, Sumble competes with AI Leads Scout, AI Vibe Prospecting, Apollo.io, Canonical Company Search, Clay, Crustdata, Data247, DataForB2B, DataLayer, DayOneLead, Demandbase, eCore Enrichment Email Phone, Enginy, Enrow, EventMatch, Firmable, FullEnrich, Gojiberry, Grata, Happenstance, HG Insights - RGI, Hunter, Icebreaker, InsightSignal, Lusha, Meticulate, Moody's Growth and Strategy, Onsa, Pipecorn, Popl, Resolve Recipients, Reverse Contact, RocketReach, SalesNow, SciLeads, Seamless, SignalHire, SigParser, Sixtyfour Intelligence, Sprouts Data Intelligence, StoreInspect, Super Carl, The Org, Unify, Village, ZoomInfo in ChatGPT B2B Prospecting & Contact Data, 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.