MCP CRM Tools
Ten MCP tools that move data between DiscoLike and your CRM. Flows are live end-to-end, but expect rough edges while hardening completes.
Supported providers: hubspot, pipedrive, salesforce.
Before You Start
Section titled “Before You Start”Connect the CRM once from the app under Settings > Integrations. Every tool below refuses to run without an active connection, and returns a re-authorization error if the stored token has expired. Reconnect from the same screen.
Connection status is also readable over REST via GET /v1/crm/connections; see the CRM API.
| Tool | Parameters | What it does |
|---|---|---|
| push-to-crm | query_id, provider, mode, sf_target_object | Push a saved query’s companies or contacts into the CRM |
| crm-suppress | provider, kind | Snapshot the CRM into an exclusion list |
| crm-import-companies | provider | Import the CRM’s companies as tagged DiscoLike domain lists |
| crm-match-companies | provider, min_match_confidence | Find domains for domain-less CRM companies |
| crm-writeback-domains | provider, query_id, min_confidence | Write matched domains back onto CRM records |
| crm-match-contacts | provider | Find emails for email-less CRM people |
| crm-writeback-emails | provider, match_task_id, min_confidence | Write matched emails back onto CRM records |
| crm-enrich-contacts | provider, icp_text, contacts_per_company, mode, sf_target_object | Find contacts at the CRM’s companies and push them in |
| crm-writeback-segments | provider, query_id | Write segment labels onto CRM records |
| crm-audit-companies | provider | Tag each CRM company with its operating status |
Every tool runs as a background job. The ones that return a task_id are asynchronous; results appear via list-saved-queries or directly on the CRM records as the job progresses.
Shared parameters
Section titled “Shared parameters”| Parameter | Values | Notes |
|---|---|---|
| provider | hubspot, pipedrive, salesforce | Required on every tool |
| mode | push (default), enrich | push creates records that don’t exist yet and updates the ones that do. enrich only updates existing records; it never creates any. |
| sf_target_object | leads (default), accounts | Salesforce only. Other providers ignore it. |
| min_confidence | 50–100, default 70 | Write-back floor: only matches at or above this confidence land on the CRM. |
| min_match_confidence | 50–100, default 50 | Match floor on crm-match-companies. 50 is the standard quality floor. |
Pushing DiscoLike Data Out
Section titled “Pushing DiscoLike Data Out”push-to-crm takes a saved query and syncs its results into the CRM. On Salesforce, sf_target_object decides whether companies land as Leads or Accounts.
“Push my Series A SaaS list to HubSpot”
crm-enrich-contacts goes the other direction from a company list: it reads the CRM’s companies by website domain, searches the DiscoLike contact index for people at those companies, and pushes the email-bearing matches in as contacts, auto-linked to their company (Salesforce Account, Pipedrive organization, HubSpot domain association). Describe who to find in icp_text as free text (“VP of Engineering or CTO”); contacts_per_company accepts 1–10 and defaults to 3. Covers up to 1,000 companies per run. Billed per net-new contact delivered.
“Find decision makers for my Salesforce accounts”
Keeping Existing Pipeline Out of Results
Section titled “Keeping Existing Pipeline Out of Results”crm-suppress snapshots the CRM into an exclusion list, which then shows up in list-saved-queries. Pass its ID as exclusion_query_id to discover-similar-companies or search-contacts.
kind="companies" excludes by domain. kind="contacts" resolves the CRM’s contact emails against the DiscoLike contact index. CRM contacts whose email DiscoLike has never seen are skipped, since they can’t appear in results anyway.
“Don’t show me companies I already have in HubSpot”
Filling In Missing CRM Data
Section titled “Filling In Missing CRM Data”Both fill-in flows are two-step: match first, review, then write back.
Domains for domain-less companies:
crm-match-companiespulls the CRM’s companies without a website and runs them through company matching. Results save as a query named<N> companies from <Provider>.crm-writeback-domainstakes thatquery_idand writes each matched domain onto its CRM record, skipping anything belowmin_confidence.
Emails for email-less people:
crm-match-contactspulls the CRM’s people lacking an email and matches them by name and company. Matched contacts are enriched with their email, billed per net-new contact. Returns atask_id.crm-writeback-emailstakes thatmatch_task_idand writes the emails back. Called while the match is still running, it rejects rather than writing partial results.
“Find websites for my domain-less Salesforce accounts, then update the records”
Enriching CRM Records
Section titled “Enriching CRM Records”crm-import-companies exports every company with a website domain from the CRM and saves them as DiscoLike domain lists, 10,000 domains per list, tagged crm:<provider>. Use those lists as the input to any other DiscoLike operation.
crm-writeback-segments runs after segment-domains over CRM companies. Pass the segmentation query’s ID (it equals the segment task ID) and each company’s segment label lands on the CRM record matched by domain: a DiscoLike Segment property on HubSpot and Pipedrive, and a DiscoLike segment: line inside Description on Salesforce. Unclustered companies are skipped.
crm-audit-companies checks every CRM company’s website against the DiscoLike index (including domains no longer actively indexed) and writes an operating status onto each record: active, closed, redirected to <newdomain>, or unknown. On HubSpot and Pipedrive the status lands in a DiscoLike Domain Status property, so you can filter on it and bulk-archive dead accounts natively; on Salesforce it’s a DiscoLike status: line in Description. Closed companies are also saved as a reviewable domain list. Covers up to 10,000 companies per run. Billed per net-new domain.
“Which of my HubSpot accounts are dead?”
Plan Requirements
Section titled “Plan Requirements”| Tool | Requires |
|---|---|
| crm-match-contacts, crm-writeback-emails, crm-enrich-contacts | Contacts access |
| All others | Saved queries access |