Intermediate~20 min setupCRM & CommunicationVerified April 2026
Salesforce logo
Slack logo

How to Send Salesforce Task Assignments to Slack with N8n

DM assigned users in Slack whenever they receive a new Salesforce task with due date, priority, and related record details.

Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.

Slack for Salesforce exists as a native integration, but it limited to record notifications without custom logic. This guide uses an automation platform for full control. View native option →

Best for

Teams that need custom Slack formatting and have technical resources to maintain webhooks

Not ideal for

Non-technical teams who want set-and-forget automation without server management

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 25-person B2B sales team uses this to notify account executives immediately when customer success creates follow-up tasks in Salesforce. Before automation, AEs checked their task list twice daily and often missed urgent client requests for 4-6 hours. Now they respond to customer issues within 15 minutes of task creation.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

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

Skip the setup

Import this workflow directly into n8n

Copy the pre-built n8n blueprint and paste it straight into n8n. 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.

Salesforce admin access to create workflow rules and outbound messages
N8n instance with Salesforce and Slack credentials configured
Slack admin permissions to install apps and create bot tokens
Matching email addresses between Salesforce users and Slack members
SSL certificate on your N8n instance for Salesforce webhook delivery

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Task SubjectSubject
Task Owner EmailOwner.Email
Due DateActivityDate
Priority LevelPriority
Task Record IDId
2 optional fields▸ show
Related ContactWho.Name
Related AccountWhat.Name

Step-by-Step Setup

1

Workflows > + New Workflow

Create new workflow

Start a new N8n workflow to connect Salesforce task creation to Slack notifications. This workflow will trigger whenever a task gets assigned in Salesforce.

  1. 1Click the + New Workflow button in your N8n dashboard
  2. 2Name your workflow 'Salesforce Task to Slack DM'
  3. 3Click Create to open the workflow editor
What you should see: You should see a blank workflow canvas with a single Start node visible.
2

Webhook Node > Settings

Add Salesforce webhook trigger

Set up N8n to receive notifications when Salesforce tasks are created or assigned. Salesforce will send real-time data to this webhook URL.

  1. 1Click the + button to add a node
  2. 2Search for 'Webhook' and select it
  3. 3Set HTTP Method to POST
  4. 4Copy the webhook URL from the Test URL field
  5. 5Leave all other settings as default
What you should see: You should see a webhook node with a long URL starting with your N8n instance domain.
Common mistake — Don't use the production URL yet — use the Test URL while building the workflow
n8n
+
click +
search apps
Salesforce
SA
Salesforce
Add Salesforce webhook trigger
Salesforce
SA
module added
3

Setup > Workflow Rules > New Rule

Configure Salesforce outbound message

Tell Salesforce to send task data to your N8n webhook whenever a task is assigned. This creates the real-time connection between the systems.

  1. 1In Salesforce Setup, go to Workflow Rules
  2. 2Click New Rule and select Task object
  3. 3Set rule criteria to 'OwnerId not equal to null'
  4. 4Add an Outbound Message action
  5. 5Set the endpoint URL to your N8n webhook URL
  6. 6Select fields: Id, Subject, Priority, ActivityDate, WhoId, WhatId, OwnerId
What you should see: Salesforce shows a green checkmark next to your outbound message with status 'Active'.
Common mistake — Include OwnerId in the field selection — without it, you can't determine who to message in Slack
4

Salesforce Node > Operations > Get

Add Salesforce API node

Pull additional task details that aren't included in the webhook payload. You need the assigned user's email and related record information for the Slack message.

  1. 1Add a new node after the webhook
  2. 2Search for and select 'Salesforce'
  3. 3Choose 'Get' operation
  4. 4Set Resource to 'Task'
  5. 5Map Task ID from webhook data to the ID field
  6. 6Add fields: Owner.Email, Owner.Name, Who.Name, What.Name
What you should see: The node should show a successful connection to Salesforce with sample task data including owner email.
Common mistake — You need 'View All Data' permission in Salesforce for the API user — standard integration users often lack this
5

Set Node > Fields

Format task priority

Convert Salesforce priority values into readable text for Slack. Salesforce stores priority as picklist values that need formatting.

  1. 1Add a Set node after the Salesforce node
  2. 2Create a new field called 'priorityEmoji'
  3. 3Use this expression: {{ $node['Salesforce'].json['Priority'] === 'High' ? '🔴' : $node['Salesforce'].json['Priority'] === 'Medium' ? '🟡' : '🟢' }}
  4. 4Add another field 'dueDate' with: {{ new Date($node['Salesforce'].json['ActivityDate']).toLocaleDateString() }}
What you should see: The Set node output should show priorityEmoji as an emoji and dueDate as a formatted date string.
Common mistake — ActivityDate comes as ISO string — convert it to readable format or Slack users will see '2024-01-15T00:00:00.000Z'
6

Slack Node > Operations > Get User by Email

Look up Slack user by email

Find the Slack user ID that matches the Salesforce task owner's email address. Slack requires user IDs, not email addresses, for direct messages.

  1. 1Add a Slack node after the Set node
  2. 2Choose 'Get User by Email' operation
  3. 3Map the Owner.Email from Salesforce to the email field
  4. 4Set the operation to return user ID
What you should see: The Slack node should return a user object with an id field containing the Slack user ID.
Common mistake — This fails if the Salesforce user email doesn't match their Slack email exactly — common with contractors or external users
7

Slack Node > Operations > Open Direct Message

Create Slack DM channel

Open a direct message conversation with the assigned user before sending the task notification. Slack requires an existing DM channel to send messages.

  1. 1Add another Slack node
  2. 2Choose 'Open Direct Message' operation
  3. 3Map the user ID from the previous Slack node to the user field
  4. 4This creates a channel ID for the DM
What you should see: The node should return a channel object with an id field starting with 'D' (Slack's DM channel prefix).
Common mistake — Map fields using the variable picker — don't type field names manually. Hand-typed variable names often have invisible spacing errors that produce blank output.
8

Set Node > Message Formatting

Format task notification message

Build a comprehensive Slack message with task details, priority, due date, and related record information. Use Slack's block formatting for better readability.

  1. 1Add a Set node to build the message
  2. 2Create field 'messageText' with: 'New task assigned: {{ $node['Salesforce'].json['Subject'] }}'
  3. 3Add field 'blocks' with Slack block kit JSON structure
  4. 4Include priority emoji, due date, and related record name in the blocks
  5. 5Add a button link back to the Salesforce task
What you should see: The Set node should output a formatted message with blocks array containing task details and formatting.
Common mistake — Slack blocks have strict JSON structure — test the format in Slack's Block Kit Builder first
9

Slack Node > Operations > Send Message

Send Slack direct message

Send the formatted task notification to the assigned user's DM channel. This delivers the notification with all task context.

  1. 1Add final Slack node
  2. 2Choose 'Send Message' operation
  3. 3Map channel ID from the DM creation step
  4. 4Map messageText and blocks from the formatting step
  5. 5Set as_user to true
What you should see: The node should show a successful message send with a timestamp and message ID in the response.
Common mistake — If blocks are malformed, Slack will reject the message — always include fallback text in messageText field
message template
🔔 New Record: {{FirstName}} {{LastName}}
Email: {{Email}}
Company: {{Company}}
#sales
🔔 New Record: Jane Smith
Company: Acme Corp
10

Workflow > Execute Workflow

Test the workflow

Run a complete test by creating a task in Salesforce and verifying the Slack notification arrives with correct formatting and recipient.

  1. 1Click Execute Workflow to activate listening mode
  2. 2Go to Salesforce and create a new task
  3. 3Assign it to a user whose email matches a Slack member
  4. 4Set priority and due date
  5. 5Save the task
What you should see: The assigned user should receive a DM in Slack with task details, priority emoji, due date, and Salesforce link within 30 seconds.
Common mistake — First test often fails due to Salesforce workflow rule delay — wait 2 minutes before assuming the integration is broken
n8n
▶ Run once
executed
Salesforce
Slack
Slack
🔔 notification
received
11

Workflow > Activate

Activate production webhook

Switch from test mode to production so the workflow runs automatically on all future Salesforce task assignments.

  1. 1Click the Activate toggle in the top right
  2. 2The webhook URL will change from test to production
  3. 3Update your Salesforce outbound message with the new production URL
  4. 4Save the Salesforce workflow rule
What you should see: The workflow status should show 'Active' with a green indicator, and the webhook should display the production URL.
Common mistake — Don't forget to update Salesforce with the production URL — the test URL stops working once you activate
12

Node Settings > Continue on Fail

Set up error handling

Configure the workflow to handle failures gracefully when users don't exist in Slack or API calls fail.

  1. 1Add error handling to the Slack user lookup node
  2. 2Set 'Continue on Fail' to true
  3. 3Add an IF node to check if user lookup succeeded
  4. 4Route failed lookups to a different Slack notification (like #general channel)
What you should see: Failed user lookups should continue workflow execution and send notifications to a fallback channel instead of stopping.
Common mistake — Without error handling, one invalid email address will break notifications for all future tasks

Drop this into an n8n Code node.

JavaScript — Code Node// Add this to your message formatting to include clickable Salesforce link
▸ Show code
// Add this to your message formatting to include clickable Salesforce link
{
  "type": "section",

... expand to see full code

// Add this to your message formatting to include clickable Salesforce link
{
  "type": "section",
  "text": {
    "type": "mrkdwn",
    "text": `<https://yourinstance.salesforce.com/${$node['Webhook'].json.Id}|View Task in Salesforce>`
  }
}

Scaling Beyond 500+ tasks/day+ Records

If your volume exceeds 500+ tasks/day records, apply these adjustments.

1

Implement webhook queuing

N8n can get overwhelmed by simultaneous Salesforce webhooks during bulk task imports. Add a Queue node to process notifications sequentially and prevent API rate limit errors.

2

Cache Slack user lookups

Looking up the same users repeatedly wastes API calls. Store email-to-user-ID mappings in N8n's database and refresh weekly instead of on every task.

3

Add execution time limits

Set maximum execution time to 30 seconds per workflow run. Long-running API calls to Salesforce can pile up and crash your N8n instance during peak usage.

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

VerdictWhy n8n for this workflow

Use N8n for this if you need custom message formatting and have technical resources to maintain webhook configurations. N8n gives you full control over Slack message blocks, error handling, and data transformation that Zapier's templates can't match. The main downside: you're managing your own server and SSL certificates. Pick Zapier instead if you want someone else handling infrastructure headaches.

Cost

This workflow burns through 4 executions per task notification — webhook trigger, Salesforce API call, Slack user lookup, and message send. At 200 tasks per month, that's 800 executions total. N8n's Starter plan handles 5,000 executions for $20/month. Zapier would cost $29.99 for their Professional plan to handle the same volume, and Make charges $10.59 for 10,000 operations. N8n sits in the middle price-wise but gives you the most flexibility.

Tradeoffs

Zapier beats N8n on user management — their Slack integration automatically handles email-to-user-ID mapping without separate API calls. Make's visual builder makes the message formatting easier with their drag-and-drop block composer. But both platforms lock you into their hosting and upgrade paths. N8n lets you self-host and avoid per-execution charges entirely if you grow large enough.

You'll hit three main issues after going live. Salesforce's outbound messages have no retry logic — if your N8n server is down for 24 hours, you lose those notifications permanently. The email matching between Salesforce and Slack breaks constantly as people change email formats or leave the company. Finally, Salesforce workflow rules fire on every field update by default, so you'll get duplicate notifications unless you restrict the criteria to creation-only events.

Ideas for what to build next

  • Add task completion notificationsSend a follow-up Slack message when tasks are marked complete. Helps managers track team productivity and task resolution times.
  • Create task summary reportsBuild a weekly digest that sends task assignment statistics to team leads. Show who has the most overdue tasks and average completion times.
  • Integrate with calendar appsAutomatically add high-priority tasks to the assigned user's Google Calendar or Outlook. Ensures important deadlines don't get missed in Slack noise.

Related guides

Was this guide helpful?
Salesforce + Slack overviewn8n profile →