Pushes Hunter leads to a connected CRM (e.g. HubSpot, Salesforce, Pipedrive). Use when the user wants to sync leads to their CRM, export contacts to HubSpot/Salesforce, or send a list to their connected sales tool.
Installs into .claude/skills of the current project.
Are you the author of Source C91e61bbc557874047b0e3b6?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gutsofpratik-source-c91e61bbc557874047b0e3b6)
---
name: push-to-crm
description: Pushes Hunter leads to a connected CRM (e.g. HubSpot, Salesforce, Pipedrive). Use when the user wants to sync leads to their CRM, export contacts to HubSpot/Salesforce, or send a list to their connected sales tool.
user-invocable: true
argument-hint: Push my Q2 leads to HubSpot
---
# Push to CRM
Send leads from Hunter to a connected CRM.
## Examples
- `/hunter:push-to-crm Push my Q2 leads to HubSpot`
- `"Send these contacts to Salesforce"`
- `"Sync the fintech list to my CRM"`
- `"Which CRMs do I have connected?"`
## Workflow
### Step 1: Identify the target CRM
- `List-Connected-Apps` to show the user's connected integrations; `Get-Connected-App` for details on one.
- If nothing is connected, tell the user to connect a CRM in Hunter first (Settings → Integrations) — this skill can't create the connection.
### Step 2: Identify the leads
Determine which leads to push. `Push-Leads-To-CRM` accepts only saved `lead_ids` or a `leads_list_id` — so if the "current selection" is unsaved Domain Search / finder results, first save them as leads (with the user's OK, via `Create-Lead-If-Missing`) and push those IDs. You can't push unsaved rows. `lead_ids` is capped at 100: for larger selections, save them to a leads list and push the `leads_list_id` instead (or batch the IDs in groups of 100 after confirming the total). Note: `Create-Lead-If-Missing` leaves an already-existing lead out of the new list, so pushing that new `leads_list_id` would skip those contacts — collect the full set of `lead_ids` (existing + new, via `Lead-Exists` / `List-Leads`) and push those IDs. Don't reach for `Create-Or-Update-Lead` just to force list membership — it overwrites the existing lead's fields; use it only if the user explicitly wants to update them.
### Step 3: Confirm, then push
State the target app and how many records will be sent, and wait for explicit confirmation, because this writes data into an external system:
> "This will push 40 leads to **HubSpot**. Confirm?"
Only after a "yes", call `Push-Leads-To-CRM` with the leads and the target app.
### Step 4: Report the queued push
`Push-Leads-To-CRM` is asynchronous — it returns a `queued` status and the lead count, not per-record results. Report that; do not invent created/updated/skipped numbers.
```
# Push queued → HubSpot
**Leads queued:** 40 | **Status:** queued
The sync runs in the background — check HubSpot in a few moments to confirm the records.
## Next Actions
1. Push another list
2. Review the leads in HubSpot shortly
```
## Guardrails
`Push-Leads-To-CRM` commits data to an external system — always confirm the **target app** and the **record count** before executing. Never push silently or by default. The call only queues the sync (it returns `queued` + count, not per-record results), so report it as queued and point the user to the CRM to verify the outcome.
## Credit Cost
Free — pushing leads to a connected CRM does not consume credits.
## Important Notes
- The CRM connection must already exist in Hunter — this skill uses it, it doesn't create it.
- Confirm the destination every time; pushing to the wrong CRM is hard to undo.