Intermediate~15 min setupCommunication & Project ManagementVerified April 2026
Slack logo
Trello logo

How to Auto-Create Trello Cards from Slack Messages with Pipedream

Automatically create Trello cards when team members post messages with specific keywords or emoji reactions in Slack channels.

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

Best for

Teams that need to convert Slack decisions or action items into tracked Trello cards instantly

Not ideal for

Teams wanting bulk card creation or complex conditional routing based on user roles

Sync type

real-time

Use case type

routing

Real-World Example

πŸ’‘

A 12-person marketing agency uses this to capture client feedback from #client-reviews channel. When messages contain 'action needed' or get a πŸ“Œ reaction, Pipedream creates Trello cards in their Client Tasks board with the original message and context. Before automation, 40% of client requests buried in Slack threads were forgotten within 2 days.

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 Pipedream

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

Slack admin access to install apps in your workspace
Trello account with edit permissions on target boards
Specific channels identified where you want to monitor messages
Keywords or phrases defined that should trigger card creation

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Card Name
Board ID
List ID
3 optional fieldsβ–Έ show
Card Description
Due Date
Labels

Step-by-Step Setup

1

Workflows > New > Workflow

Create new Pipedream workflow

Go to pipedream.com and click the green 'New' button in the top nav. Select 'Workflow' from the dropdown menu. You'll land on a blank workflow canvas with a trigger placeholder waiting for configuration.

  1. 1Click 'New' in the top navigation
  2. 2Select 'Workflow' from the dropdown
  3. 3Click 'Continue' on the blank workflow template
βœ“ What you should see: You should see an empty workflow with a gray 'Select a trigger' box at the top.
2

Trigger > Slack > New Message in Channels

Add Slack message trigger

Click the trigger box and search for 'Slack'. Select 'New Message in Channels' from the available triggers. This fires instantly when someone posts in channels you specify, not when reactions are added.

  1. 1Click the gray 'Select a trigger' box
  2. 2Type 'Slack' in the search bar
  3. 3Select 'New Message in Channels (Instant)'
βœ“ What you should see: The trigger box now shows 'Slack - New Message in Channels' with configuration options below.
⚠
Common mistake β€” This trigger only works for new messages, not reactions. For reaction-based triggers, you need 'New Reaction Added' as a separate workflow.
message template
πŸ”” New Record: {{text}} {{user}}
channel: {{channel}}
ts: {{ts}}
#sales
πŸ”” New Record: Jane Smith
Company: Acme Corp
3

Trigger Configuration > Connect Account

Connect your Slack account

Click 'Connect Account' and authorize Pipedream to access your Slack workspace. You'll need admin permissions to install the Pipedream app. The connection popup opens Slack's OAuth flow in a new tab.

  1. 1Click 'Connect Account' button
  2. 2Click 'Allow' in the Slack authorization popup
  3. 3Return to Pipedream tab after successful connection
βœ“ What you should see: You should see 'Connected' with your Slack workspace name displayed in green text.
⚠
Common mistake β€” If you're not a Slack admin, the app install will fail. Ask your workspace admin to pre-approve the Pipedream app.
Pipedream settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Pipedream
popup window
βœ“
Connected
green checkmark
4

Trigger Configuration > Channels

Select target channels

Choose which Slack channels to monitor from the dropdown list. You can select multiple channels but each requires separate authorization if they're private. Public channels appear immediately after connection.

  1. 1Click the 'Channels' dropdown menu
  2. 2Select channels you want to monitor
  3. 3Click outside the dropdown to confirm selections
βœ“ What you should see: Selected channels appear as blue tags below the dropdown with an 'X' to remove them.
⚠
Common mistake β€” Private channels won't appear unless you explicitly invite the Pipedream bot user to each channel first.
5

Workflow > + Add Step > Code (Node.js)

Add keyword filter code step

Click '+ Add Step' below the trigger and select 'Code'. This Node.js step will check if the message contains your target keywords before creating cards. Without filtering, every single message creates a card.

  1. 1Click the blue '+ Add Step' button
  2. 2Select 'Code' from the step types
  3. 3Choose 'Node.js' as the runtime
βœ“ What you should see: A code editor appears with a basic async function template and console.log example.
⚠
Common mistake β€” The code step runs for every message, so inefficient code will slow down your workflow significantly.

Add this code to the filtering step to extract due dates from messages and automatically set Trello card due dates. Paste this in the Node.js code step after the keyword filtering logic.

JavaScript β€” Code Stepexport default defineComponent({
β–Έ Show code
export default defineComponent({
  async run({ steps, $ }) {
    const message = steps.trigger.event.text;

... expand to see full code

export default defineComponent({
  async run({ steps, $ }) {
    const message = steps.trigger.event.text;
    const keywords = ['action needed', 'todo', 'task', 'follow up'];
    
    // Check for keywords
    const hasKeyword = keywords.some(keyword => 
      message.toLowerCase().includes(keyword.toLowerCase())
    );
    
    if (!hasKeyword) {
      $.flow.exit('No keywords found');
      return;
    }
    
    // Extract due dates from common patterns
    const datePatterns = [
      /by (monday|tuesday|wednesday|thursday|friday|saturday|sunday)/gi,
      /due (\d{1,2}\/\d{1,2})/gi,
      /deadline (\w+ \d{1,2})/gi,
      /by (next week|this week|tomorrow)/gi
    ];
    
    let extractedDate = null;
    for (const pattern of datePatterns) {
      const match = message.match(pattern);
      if (match) {
        extractedDate = match[1];
        break;
      }
    }
    
    return {
      message_data: steps.trigger.event,
      extracted_due_date: extractedDate,
      should_create_card: true
    };
  }
});
Slack
SL
trigger
filter
Condition
matches criteria?
yes β€” passes through
no β€” skipped
Trello
TR
notified
6

Code Step > Editor

Configure message filtering logic

Replace the template code with keyword detection logic. This checks the message text for specific phrases like 'action needed' or 'todo' and only continues the workflow if found. Case-insensitive matching prevents missed triggers.

  1. 1Delete the template code in the editor
  2. 2Paste the filtering logic code
  3. 3Update the keywords array with your target phrases
  4. 4Click 'Test' to validate the code
βœ“ What you should see: The code editor shows no syntax errors and 'Test' returns either the message data or null if no keywords match.
⚠
Common mistake β€” Filters are the most common place setups break. Double-check the field name and value exactly match what your app sends β€” a single capital letter difference will block everything.
7

Workflow > + Add Step > Trello > Create Card

Add Trello action step

Click '+ Add Step' and search for Trello. Select 'Create Card' action. This step only runs if the previous filter step found matching keywords, preventing unwanted card creation.

  1. 1Click '+ Add Step' below the code block
  2. 2Type 'Trello' in the app search
  3. 3Select 'Create Card' from available actions
βœ“ What you should see: The Trello step appears with connection and configuration fields ready to fill.
⚠
Common mistake β€” Trello's API requires exact board and list IDs, not names. Wrong IDs will cause silent failures.
8

Trello Step > Connect Account

Connect Trello account

Click 'Connect Account' to authorize Pipedream access to your Trello boards. The OAuth flow opens in a popup window. After connection, Pipedream can read your board and list names for the dropdown selectors.

  1. 1Click 'Connect Account' in the Trello step
  2. 2Click 'Allow' in the Trello authorization popup
  3. 3Wait for the connection confirmation
βœ“ What you should see: You should see 'Connected' with your Trello username in green text below the button.
9

Trello Step > Board > List > Card Fields

Configure card creation settings

Select your target board from the dropdown, then choose the list where cards should be created. The card name will use the Slack message text, and description includes the channel name and author for context.

  1. 1Select target board from 'Board' dropdown
  2. 2Choose destination list from 'List' dropdown
  3. 3Map Slack message text to card name field
  4. 4Add channel and author info to description
βœ“ What you should see: All required fields show green checkmarks and preview data from your Slack trigger appears in the field mappings.
⚠
Common mistake β€” Trello card names have a 16,384 character limit. Long Slack messages will be truncated without warning.
10

Workflow > Test Button

Test the complete workflow

Click 'Test' at the top right to run the entire workflow with sample data. Pipedream shows each step's output and any errors. A successful test creates an actual card in your Trello board.

  1. 1Click the 'Test' button in the top right
  2. 2Review each step's output in the execution log
  3. 3Check your Trello board for the created test card
  4. 4Click 'Deploy' if all steps succeeded
βœ“ What you should see: All steps show green checkmarks and you see a new card in your specified Trello list with test message content.
⚠
Common mistake β€” Test runs create real cards in Trello. Delete test cards manually or use a dedicated test board during setup.
Pipedream
β–Ά Deploy & test
executed
βœ“
Slack
βœ“
Trello
Trello
πŸ”” notification
received

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 Pipedream for this if your team needs instant card creation and you want custom filtering logic beyond simple keyword matching. Pipedream's Node.js code steps let you extract due dates, parse mentions, and add complex conditional logic that other platforms can't handle. Skip it if you just need basic keyword triggers - Zapier's built-in filters work fine for simple cases.

Cost

Pipedream charges 1 credit per workflow run. At 200 messages/month that match keywords, you'll use 200 credits monthly. That's free on their tier. Zapier costs $20/month for the same volume since you need multi-step workflows. Make charges $9/month for 1,000 operations, making it cheapest for high-volume scenarios.

Tradeoffs

Make beats Pipedream for visual workflow building - dragging modules feels faster than writing code steps. Zapier wins on Slack trigger variety with built-in filters and formatting options. N8n offers the same coding flexibility as Pipedream but requires self-hosting. Power Automate integrates better if you're already in Microsoft's ecosystem. But Pipedream's instant webhook processing means zero delay between Slack messages and Trello cards, while polling-based platforms wait 1-5 minutes.

You'll hit Slack's rate limits if your workflow creates cards too aggressively - 1 request per second max. Long messages get truncated in Trello card titles without warning at 16,384 characters. Pipedream's error handling stops the workflow on Trello API failures, so one bad board ID kills all card creation until you fix it.

Ideas for what to build next

  • β†’
    Add reaction-based triggers β€” Create a second workflow that monitors emoji reactions like πŸ“Œ or ⭐ to capture different types of action items without requiring specific keywords.
  • β†’
    Implement smart due date parsing β€” Enhance the filtering code to automatically extract due dates from messages and set Trello card due dates based on phrases like 'by Friday' or 'next week'.
  • β†’
    Create digest notifications β€” Build a scheduled workflow that summarizes all cards created from Slack each day and posts a summary back to a #task-summary channel.

Related guides

Was this guide helpful?
← Slack + Trello overviewPipedream profile β†’