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

How to Automate Sprint Planning and Daily Standups with Pipedream

Generate automated daily Slack summaries of Trello board activity including completed tasks, overdue cards, and upcoming deadlines for standup meetings.

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

Best for

Development teams running daily standups who want automated status reports from Trello boards sent to Slack channels.

Not ideal for

Teams needing real-time notifications for individual card changes should use webhook-based triggers instead.

Sync type

scheduled

Use case type

reporting

Real-World Example

πŸ’‘

A 12-person development team uses this to send daily 9 AM standup reports to #dev-updates showing completed tasks, overdue cards, and today's deadlines from their sprint board. Before automation, the scrum master spent 15 minutes each morning manually checking Trello and typing status updates. Now the team gets consistent daily summaries and can focus standup time on blockers instead of status updates.

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.

Trello board access with cards containing due dates and status lists
Slack workspace admin permissions to add integrations and bots
Dedicated Slack channel for standup reports (bot must be invited)
Pipedream account with sufficient credits for daily automated runs

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Card Name
List Name
Card URL
3 optional fieldsβ–Έ show
Due Date
Assigned Members
Labels

Step-by-Step Setup

1

Workflows > New Workflow

Create New Workflow

Navigate to pipedream.com and click Workflows in the left sidebar. Click the blue New Workflow button in the top right. You'll see a blank workflow canvas with a trigger placeholder. Name your workflow 'Daily Standup Report' in the title field at the top.

  1. 1Click Workflows in the left navigation
  2. 2Click New Workflow button (blue, top right)
  3. 3Type 'Daily Standup Report' in the workflow title field
  4. 4Click the trigger placeholder to configure
βœ“ What you should see: You should see a blank workflow canvas with 'Daily Standup Report' as the title and an empty trigger step ready to configure.
2

Trigger > Schedule > Cron

Set Up Schedule Trigger

In the trigger configuration, select Schedule from the app list. Choose the Cron trigger type for precise timing control. Set the schedule to '0 9 * * 1-5' to run at 9 AM on weekdays only. This gives your team consistent standup reports without weekend noise.

  1. 1Click on the trigger step placeholder
  2. 2Search for and select 'Schedule' from the apps list
  3. 3Choose 'Cron' as the trigger type
  4. 4Enter '0 9 * * 1-5' in the cron expression field
  5. 5Click Save to confirm the schedule
βœ“ What you should see: The trigger step should show 'Schedule - Cron' with 'Every weekday at 9:00 AM' displayed as the schedule summary.
⚠
Common mistake β€” Cron expressions use UTC time by default. If your team is in EST, use '0 14 * * 1-5' instead to get 9 AM local time.
Pipedream
+
click +
search apps
Slack
SL
Slack
Set Up Schedule Trigger
Slack
SL
module added
3

Add Step > Trello > Get Cards on a Board

Connect Trello Account

Click Add Step below the trigger and select Trello from the apps list. Choose 'Get Cards on a Board' action. Click Connect Account and authorize Pipedream to access your Trello workspace. You'll be redirected to Trello's authorization page where you need to click Allow.

  1. 1Click the + Add Step button below the trigger
  2. 2Search for and select 'Trello' from the apps
  3. 3Choose 'Get Cards on a Board' action
  4. 4Click 'Connect Account' button
  5. 5Click 'Allow' on Trello's authorization page
βœ“ What you should see: You should see a green 'Connected' indicator next to your Trello account name in the step configuration.
⚠
Common mistake β€” Make sure you're logged into the correct Trello workspace before authorizing. Pipedream will connect to whichever account is currently active in your browser.
Pipedream settings
Connection
Choose a connection…Add
click Add
Slack
Log in to authorize
Authorize Pipedream
popup window
βœ“
Connected
green checkmark
4

Trello Step > Board Configuration

Configure Board Selection

In the Trello step configuration, select your sprint board from the Board dropdown. The dropdown will populate with all boards you have access to. Choose the specific board your team uses for sprint planning. Leave the List field empty to get cards from all lists on the board.

  1. 1Click the Board dropdown in the Trello step
  2. 2Select your sprint/development board from the list
  3. 3Leave the List field set to 'All Lists'
  4. 4Set Cards limit to 100 to ensure you get all active cards
  5. 5Click Test to verify the connection works
βœ“ What you should see: The test should return JSON data showing cards from your board with properties like name, due date, and list information.
5

Add Step > Code > Node.js

Add Data Processing Code Step

Click Add Step and select Code. Choose Node.js as the runtime. This step will process the Trello cards and categorize them for the standup report. You'll write JavaScript to filter completed tasks, identify overdue items, and find cards due today.

  1. 1Click + Add Step below the Trello step
  2. 2Select 'Code' from the options
  3. 3Choose 'Node.js' as the runtime
  4. 4Clear the default code in the editor
  5. 5Paste the data processing code for categorizing cards
βœ“ What you should see: You should see a code editor with Node.js selected and your processing code ready to run.
⚠
Common mistake β€” The code step runs after the Trello step, so reference Trello data using steps.trello.$return_value, not a generic variable name.

This Node.js code processes Trello cards and categorizes them for standup reports. Paste this into your first code step to handle date filtering and card organization automatically.

JavaScript β€” Code Stepexport default defineComponent({
β–Έ Show code
export default defineComponent({
  async run({ steps, $ }) {
    const cards = steps.trello.$return_value || [];

... expand to see full code

export default defineComponent({
  async run({ steps, $ }) {
    const cards = steps.trello.$return_value || [];
    const today = new Date().toISOString().split('T')[0];
    const yesterday = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString().split('T')[0];
    
    const completed = cards.filter(card => 
      card.list.name.toLowerCase().includes('done') &&
      card.dateLastActivity?.startsWith(yesterday)
    );
    
    const overdue = cards.filter(card => 
      card.due && 
      card.due.split('T')[0] < today &&
      !card.dueComplete
    );
    
    const dueToday = cards.filter(card => 
      card.due && 
      card.due.split('T')[0] === today &&
      !card.dueComplete
    );
    
    const inProgress = cards.filter(card => 
      card.list.name.toLowerCase().includes('progress') ||
      card.list.name.toLowerCase().includes('doing')
    );
    
    return {
      completed: completed.slice(0, 10),
      overdue: overdue.slice(0, 5),
      dueToday: dueToday.slice(0, 8),
      inProgress: inProgress.slice(0, 12),
      totalCards: cards.length
    };
  }
});
6

Add Step > Code > Node.js

Add Message Formatting Code Step

Add another Node.js code step to format the processed data into a readable Slack message. This step takes the categorized cards and creates a structured standup report with sections for completed tasks, overdue items, and today's deadlines. Use Slack's block formatting for better readability.

  1. 1Click + Add Step below the processing code step
  2. 2Select 'Code' and choose 'Node.js'
  3. 3Add code to format the standup message with Slack blocks
  4. 4Include sections for completed, overdue, and due today
  5. 5Test the step to verify message formatting
βœ“ What you should see: The test output should show a formatted Slack message object with blocks containing your team's card data organized by status.
⚠
Common mistake β€” Slack has a 4000 character limit per message. If your sprint board is huge, add truncation logic to prevent message failures.

This Node.js code processes Trello cards and categorizes them for standup reports. Paste this into your first code step to handle date filtering and card organization automatically.

JavaScript β€” Code Stepexport default defineComponent({
β–Έ Show code
export default defineComponent({
  async run({ steps, $ }) {
    const cards = steps.trello.$return_value || [];

... expand to see full code

export default defineComponent({
  async run({ steps, $ }) {
    const cards = steps.trello.$return_value || [];
    const today = new Date().toISOString().split('T')[0];
    const yesterday = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString().split('T')[0];
    
    const completed = cards.filter(card => 
      card.list.name.toLowerCase().includes('done') &&
      card.dateLastActivity?.startsWith(yesterday)
    );
    
    const overdue = cards.filter(card => 
      card.due && 
      card.due.split('T')[0] < today &&
      !card.dueComplete
    );
    
    const dueToday = cards.filter(card => 
      card.due && 
      card.due.split('T')[0] === today &&
      !card.dueComplete
    );
    
    const inProgress = cards.filter(card => 
      card.list.name.toLowerCase().includes('progress') ||
      card.list.name.toLowerCase().includes('doing')
    );
    
    return {
      completed: completed.slice(0, 10),
      overdue: overdue.slice(0, 5),
      dueToday: dueToday.slice(0, 8),
      inProgress: inProgress.slice(0, 12),
      totalCards: cards.length
    };
  }
});
message template
πŸ”” New Record: {{text}} {{user}}
channel: {{channel}}
ts: {{ts}}
#sales
πŸ”” New Record: Jane Smith
Company: Acme Corp
7

Add Step > Slack > Send Message to Channel

Connect Slack Account

Add a Slack step by clicking Add Step and selecting Slack. Choose 'Send Message to Channel' action. Click Connect Account to authorize Pipedream with your Slack workspace. Make sure you're logged into the correct Slack workspace before connecting.

  1. 1Click + Add Step below the formatting code step
  2. 2Search for and select 'Slack' from the apps
  3. 3Choose 'Send Message to Channel' action
  4. 4Click 'Connect Account' button
  5. 5Select your workspace and authorize Pipedream
βœ“ What you should see: You should see your Slack workspace name with a green Connected status in the step configuration.
8

Slack Step > Channel and Message Configuration

Configure Slack Message

Select your standup channel from the Channel dropdown. Set the message content to reference the formatted message from your previous code step. Use the data picker to select the message text from steps.nodejs_1.$return_value. Enable 'Send as blocks' for better formatting.

  1. 1Select your standup channel from the Channel dropdown
  2. 2Click in the Text field and use data picker
  3. 3Select the formatted message from your code step
  4. 4Toggle on 'Send as blocks' for rich formatting
  5. 5Set Bot name to 'Standup Bot' for clarity
βœ“ What you should see: The configuration should show your selected channel and the dynamic message content referenced from the previous code step.
⚠
Common mistake β€” The Slack bot needs to be added to your target channel. If the test fails with 'not_in_channel' error, invite the Pipedream bot to your standup channel first.
9

Workflow Actions > Test

Test the Complete Workflow

Click Test at the top of the workflow to run all steps in sequence. This will fetch current cards from your Trello board, process them through your code steps, and send a test message to Slack. Check your Slack channel to verify the message appears correctly formatted.

  1. 1Click the Test button at the top of the workflow
  2. 2Wait for all steps to complete (green checkmarks)
  3. 3Check your Slack channel for the test message
  4. 4Verify the message format and data accuracy
  5. 5Review any error messages in failed steps
βœ“ What you should see: All steps should show green checkmarks and you should see a properly formatted standup report in your Slack channel.
Pipedream
β–Ά Deploy & test
executed
βœ“
Slack
βœ“
Trello
Trello
πŸ”” notification
received
10

Workflow Actions > Deploy

Deploy the Workflow

Once testing succeeds, click Deploy in the top right to activate the scheduled workflow. The workflow will now run automatically every weekday at 9 AM. You can monitor execution history in the Executions tab and modify the schedule anytime in the trigger step.

  1. 1Click the Deploy button in the top right
  2. 2Confirm deployment in the popup dialog
  3. 3Verify the workflow status shows as 'Active'
  4. 4Check the next scheduled run time in the trigger step
  5. 5Bookmark the workflow URL for future edits
βœ“ What you should see: The workflow status should change to 'Active' and you should see the next scheduled execution time displayed in the trigger configuration.
⚠
Common mistake β€” Deployed workflows consume credits on each run. Monitor your usage in the account settings to avoid hitting plan limits unexpectedly.

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 custom logic for processing Trello data and you're comfortable with JavaScript. Pipedream's Node.js code steps let you build sophisticated filtering for different card types, calculate sprint metrics, and format messages exactly how your team wants them. The instant webhook capabilities also mean you can later add real-time notifications alongside scheduled reports. Skip Pipedream if you just want basic "new card" notifications - Zapier handles that with zero coding.

Cost

This workflow costs about 4 credits per run on Pipedream's free tier. Running daily Monday through Friday means 20 credits monthly, leaving you 80 credits for other workflows. At 100+ executions monthly, you'll need the $19 Developer plan. Zapier would cost $20/month for the same volume, but can't match the custom processing logic. Make.com handles this for $9/month but requires more complex scenario building.

Tradeoffs

Zapier beats Pipedream for pure simplicity - their Trello and Slack integrations have more pre-built templates for standup reports. Make.com offers better visual workflow building if your team prefers clicking over coding. n8n provides similar Node.js capabilities but requires self-hosting. Power Automate works well if you're already in the Microsoft ecosystem, but their Trello connector is limited. Pipedream wins because the code steps let you build exactly the standup format your team needs without wrestling with platform limitations.

You'll hit Trello's API rate limits if you have massive boards with 1000+ cards. The date filtering gets tricky across timezones - cards due "today" might not match your team's local time. Slack's block formatting is picky about JSON structure, so one malformed message object breaks the entire workflow. Also, team members who archive cards aggressively will mess up your "completed yesterday" logic since archived cards don't appear in API responses.

Ideas for what to build next

  • β†’
    Add Weekend Sprint Summaries β€” Create a separate weekly workflow that runs Friday evening with a full sprint recap including velocity metrics and burndown status.
  • β†’
    Include GitHub Commit Activity β€” Enhance reports by connecting GitHub to show code commits alongside Trello card updates for complete development visibility.
  • β†’
    Create Interactive Slack Commands β€” Build slash commands that let team members request on-demand board summaries or update card status directly from Slack.

Related guides

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