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 Team | 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, 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-companies | Team |
| crm-match-contacts, crm-writeback-emails, crm-enrich-contacts | Contacts access |
| All others | Saved queries access |