

How to Send Copper Lead Alerts to Slack with Make
When a lead is created or reassigned in Copper, Make fires a Slack DM or channel message to the assigned sales rep within seconds.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Sales teams using Copper as their CRM who need reps to respond to hot leads within minutes, not hours.
Not ideal for
Teams reassigning hundreds of leads per day — at that volume, a daily digest in Slack is less noisy and more actionable.
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person B2B SaaS sales team routes inbound leads by territory inside Copper. Before this automation, reps discovered new assignments by checking Copper manually — sometimes 3–4 hours after the lead came in. Now each rep gets a Slack DM with the lead's name, company, source, and a direct Copper link the moment the record is assigned to them.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Make
Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Lead Name | name | |
| Assignee Email | assignee_id | |
| Lead ID | id | |
6 optional fields▸ show
| Assignee Name | assignee_name |
| Company Name | company_name |
| Lead Source | source_id |
| Lead Status | status |
| Phone Number | phone_numbers |
| Email Address | email |
Step-by-Step Setup
make.com > Scenarios > Create a new scenario
Create a new scenario in Make
Log into Make at make.com and click 'Create a new scenario' in the top right. You'll land on a blank canvas with a large '+' circle in the center — that's where you add your trigger module. This scenario will have two modules total: a Copper trigger and a Slack action. Name your scenario something like 'Copper Lead Assignment → Slack' using the pencil icon at the top so it's identifiable later.
- 1Log into make.com and navigate to Scenarios in the left sidebar
- 2Click the blue 'Create a new scenario' button in the top right
- 3Click the pencil icon next to 'New scenario' and rename it 'Copper Lead Assignment → Slack'
- 4Click the large '+' circle in the canvas center to open the module picker
Scenario Canvas > + > Search 'Copper' > Watch Leads
Add the Copper 'Watch Leads' trigger
In the module picker, type 'Copper' and select it from the list. Make will show you the available Copper modules — choose 'Watch Leads' as the trigger. This module uses a webhook under the hood; Make will auto-generate a webhook URL that you'll register in Copper in the next step. You'll be prompted to create or select a Copper connection — click 'Add' to create a new one.
- 1Type 'Copper' in the module search box
- 2Click 'Copper' in the results list
- 3Select 'Watch Leads' from the Copper module list
- 4Click 'Add' next to the Connection field to authenticate with Copper
Copper > Settings > Integrations > API Keys
Authenticate Make with Copper
In the connection dialog, enter your Copper email address and your Copper API key. Find your API key in Copper under Settings > Integrations > API Keys — it's a long alphanumeric string. Give the connection a clear name like 'Copper Production' so you can reuse it across other scenarios. Click Save after entering both fields.
- 1Open Copper in a new tab and go to Settings > Integrations > API Keys
- 2Copy your API key (generate one if none exists)
- 3Return to Make and paste the API key into the API Key field
- 4Enter the email address associated with your Copper account
- 5Click 'Save' to establish the connection
Copper > Settings > Integrations > API > Webhooks > Add Webhook
Register the Make webhook URL in Copper
After saving the connection, Make displays a webhook URL for the Watch Leads trigger. Copy that URL. Go to Copper > Settings > Integrations > API > Webhooks and create a new webhook. Paste the Make URL as the endpoint and select the 'Lead' resource. Check both 'new' and 'update' event types so the scenario fires on creation and reassignment. Save the webhook in Copper.
- 1Copy the webhook URL shown in Make's Watch Leads module panel
- 2Open Copper and navigate to Settings > Integrations > API > Webhooks
- 3Click 'Add Webhook'
- 4Paste the Make URL into the Endpoint URL field
- 5Select 'Lead' as the resource type, check 'new' and 'update' events, then click Save
Scenario Canvas > Click connector line between modules > Set up a filter
Add a filter to catch only assignment events
Click the small wrench icon between the trigger and your next module (you'll add this after setting up the filter). Actually, first click the trigger module's output, then click the small filter bubble that appears on the connector line. Since Copper sends all lead updates through this webhook, you need to filter for records where 'Assignee ID' is present and not empty. This prevents the scenario from running when unrelated fields like phone number or notes are updated.
- 1Hover over the arrow line between the Copper trigger and the next module slot
- 2Click the filter icon (wrench/funnel) that appears on the line
- 3Set Condition: 'Assignee ID' > 'Exists' (is not empty)
- 4Click 'OK' to save the filter
Scenario Canvas > + > Slack > Look Up a User by Email
Look up the assigned rep's Slack user ID
Copper gives you the assigned user's name and email in the webhook payload, but Slack needs a user ID (like U04XXXXXXX) to send a DM. Add a Slack module between the filter and the final Slack message module: choose 'Look Up a User by Email'. Map the Copper field 'Assignee Email' into the Email input of this module. This returns the Slack user object including their user ID, which you'll use in the next step to address the DM correctly.
- 1Click the '+' after the filter on the canvas
- 2Search for 'Slack' and select it
- 3Choose 'Look Up a User by Email' from the Slack module list
- 4Connect your Slack workspace (OAuth prompt will appear)
- 5Map the 'Assignee Email' field from the Copper trigger into the Email input
Scenario Canvas > + > Slack > Send a Message
Add the Slack 'Send a Message' module
Add a second Slack module and choose 'Send a Message'. Set the Channel field to the User ID output from the previous Lookup step — this routes the message as a DM directly to the assigned rep. In the Text field, compose your message using a mix of Copper trigger fields and plain text. Keep it short: name, company, source, and a link back to the lead in Copper are all the rep needs to take immediate action.
- 1Click '+' after the Slack Lookup module
- 2Select 'Slack' > 'Send a Message'
- 3In the Channel field, map '{{User ID}}' from the Lookup module output
- 4In the Text field, build the message body using Copper lead fields (see field mapping section)
- 5Leave 'As User' toggled on so the message appears from the Make bot, not a generic webhook
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}channel: {{channel}}
ts: {{ts}}
Slack Send a Message module > Text field
Map the Slack message fields
Build the Slack message text using Copper's trigger output variables. A good template looks like: '🎯 New lead assigned to you: *{{Lead Name}}* at {{Company Name}}. Source: {{Lead Source}}. View in Copper: {{Lead URL}}'. You can use Slack's mrkdwn formatting (asterisks for bold, backticks for code) directly in the Make text field. Add the Copper lead URL by constructing it manually: 'https://app.copper.com/companies/leads/{{Lead ID}}'.
- 1Click inside the Text field of the Send a Message module
- 2Type your message template and click the variable picker icon to insert Copper fields
- 3Insert: Lead Name, Company Name, Lead Source, Assignee Name from the Copper trigger
- 4Manually construct the Copper URL: 'https://app.copper.com/companies/leads/' then map the Lead ID variable
- 5Preview the message by clicking 'Run once' in the bottom toolbar
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Scenario Canvas > Run once (bottom toolbar) > Check execution bubbles
Test the scenario end-to-end
Click 'Run once' at the bottom of the Make canvas to put the scenario in listening mode. Then go to Copper and either create a new lead and assign it, or open an existing lead and reassign it to a rep. Make should detect the webhook event within 5–10 seconds. Check the scenario execution log — each module bubble should show a green checkmark with a number indicating how many records were processed.
- 1Click 'Run once' in the Make scenario toolbar at the bottom
- 2Switch to Copper and create a new lead, set the Assignee field to a rep who has a Slack account
- 3Return to Make within 30 seconds and watch the module bubbles
- 4Click any green bubble to inspect the data that passed through that module
- 5Check Slack to confirm the DM arrived in the assigned rep's inbox
Scenario Canvas > Toggle switch (bottom left) > ON
Turn on scheduling and activate the scenario
Since this scenario is webhook-driven, it doesn't run on a schedule — it fires instantly on each Copper event. Toggle the scenario from OFF to ON using the blue switch at the bottom left of the canvas. The scenario will now run 24/7, firing every time Copper sends a lead event to the registered webhook URL. You don't need to set an interval.
- 1Click the toggle switch at the bottom left of the scenario canvas
- 2Confirm the activation dialog if Make prompts one
- 3Verify the scenario status shows 'ON' in green
- 4Check the Scenario History tab to confirm the first real execution logged correctly
Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Make for this if your team needs real-time DMs (not batched digests), you want visual scenario editing without writing code, and you already use Make for other CRM workflows. The visual canvas makes it easy to inspect exactly what Copper sends in the webhook payload — you can click any module bubble in test mode and see the raw JSON. If your team is already deep in Zapier and only needs this one workflow, the switching cost probably isn't worth it — Zapier's Copper + Slack Zap gets this done in under 10 minutes with no learning curve.
The cost math is straightforward. Each lead assignment event uses 3 Make operations: the Copper webhook trigger, the Slack user lookup, and the Slack message send. At 150 lead assignments per month, that's 450 operations. Make's free tier includes 1,000 operations/month, so this workflow runs free up to roughly 330 assignments/month. Compare that to Zapier's free tier, which caps at 100 Zap runs/month total — you'd hit the Zapier limit at 100 assignments and need their $19.99/month Starter plan. Make wins on cost here by a meaningful margin for active sales teams.
Zapier is faster to set up — their Copper trigger is pre-built and the Slack action requires zero configuration beyond picking a channel. n8n lets you self-host and add complex JavaScript transformations (like checking the previous assignee against a lookup table to confirm it actually changed), which Make can't do natively. Power Automate has the edge if your company uses Microsoft Teams instead of Slack — its native Teams connector is tighter than any third-party option. Pipedream gives you more control over the HTTP layer if Copper's webhook payload needs heavy transformation before hitting Slack. Make is still the right call here because the Copper + Slack module pairing is well-maintained, the visual debugger makes troubleshooting fast, and the operation pricing is fair for this volume.
Three things will bite you after setup. First, Copper's webhook payload includes a source_id integer for the lead source, not the human-readable label like 'Website' — you'll need to map those IDs manually or make a second Copper API call to resolve them. Second, if a Copper lead is created and assigned in the same action, you may receive two webhook events in quick succession — one for 'new' and one for 'update' — which triggers two Slack DMs to the same rep for the same lead. Add a deduplication check using Make's data store to suppress the duplicate. Third, Copper rate-limits API requests to 600 per minute across all integrations — if you have multiple Make scenarios hitting the Copper API simultaneously, they can queue up and delay webhook deliveries by 30–60 seconds during busy periods.
Ideas for what to build next
- →Add a fallback for unmatched Slack users — When the Slack User ID lookup fails (email mismatch), add an error handler route that posts to a #sales-ops channel instead, so no lead assignment falls through the cracks silently.
- →Post a summary to a shared #new-leads channel — Add a second Slack Send Message module that posts every new lead to a team-visible channel like #new-leads — gives sales managers real-time pipeline visibility without requiring them to check Copper.
- →Create a lead in Copper from a Slack slash command — Build the reverse flow: a Slack slash command like /new-lead triggers a Make scenario that creates a Copper lead record — useful when reps take calls and want to log a lead without leaving Slack.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup