

How to Send new event notifications with Pipedream
Automatically notify a Slack channel whenever someone adds a new meeting to your Google Calendar.
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 instant visibility when meetings get scheduled on shared calendars
Not ideal for
Teams who only need daily/weekly calendar summaries instead of real-time alerts
Sync type
real-timeUse case type
notificationReal-World Example
A 12-person marketing team uses this to notify #meetings whenever someone books a client call on their shared Google Calendar. Before automation, team members discovered conflicting meetings 10 minutes before they started. Now everyone sees new bookings within 30 seconds.
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 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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Event Summary | ||
| Start Time | ||
6 optional fieldsβΈ show
| Event Creator | |
| Attendee List | |
| Meeting Location | |
| Hangout Link | |
| Event Description | |
| End Time |
Step-by-Step Setup
Workflows > New
Create new workflow
Log into pipedream.com and click the green 'New Workflow' button in the top right. You'll see the workflow builder with an empty trigger step. This is where you'll configure the Google Calendar webhook that fires when events are created.
- 1Click 'New Workflow' button
- 2Name your workflow 'Calendar to Slack notifications'
- 3Click 'Create Workflow'
Trigger > Select App > Google Calendar
Add Google Calendar trigger
Click on the trigger step and search for 'Google Calendar'. Select 'New Event (Instant)' trigger. This creates a webhook that Google Calendar will ping whenever someone adds a new event. The instant trigger is crucial for real-time notifications.
- 1Click the trigger step
- 2Search for 'Google Calendar'
- 3Select 'New Event (Instant)' trigger
- 4Click 'Save'
Trigger Configuration > Connect Account
Connect Google Calendar account
Click 'Connect Account' and sign in with Google. Grant calendar read permissions when prompted. Pipedream needs read access to detect new events and pull event details like title, time, and attendees.
- 1Click 'Connect Account'
- 2Sign in with your Google account
- 3Grant calendar permissions
- 4Click 'Allow'
Trigger Configuration > Calendar ID
Select target calendar
Choose which calendar to monitor from the dropdown. You'll see all calendars your account can access, including shared team calendars. Pick the one where new meetings should trigger Slack notifications. The webhook will only fire for events on this specific calendar.
- 1Click the 'Calendar' dropdown
- 2Select your target calendar
- 3Leave other settings as default
- 4Click 'Save and Continue'
Trigger Configuration > Generate Test Event
Test the trigger
Click 'Generate Test Event' to create sample data for building your Slack step. If you prefer real data, create a test event in your Google Calendar instead. The trigger will capture event details like summary, start time, attendees, and meeting link.
- 1Click 'Generate Test Event'
- 2Review the sample event data
- 3Note the event fields available
- 4Click 'Continue'
Steps > + > Slack
Add Slack action step
Click the '+' button below the trigger to add a new step. Search for Slack and select 'Send Message to Channel'. This action will post the event notification to your chosen Slack channel with formatted event details.
- 1Click the '+' button under the trigger
- 2Search for 'Slack'
- 3Select 'Send Message to Channel'
- 4Click 'Save'
Slack Step > Connect Account
Connect Slack workspace
Click 'Connect Account' and authorize Pipedream to access your Slack workspace. You'll need permissions to post messages in channels. Choose the workspace where you want notifications sent during the OAuth flow.
- 1Click 'Connect Account'
- 2Select your Slack workspace
- 3Click 'Allow' to grant permissions
- 4Confirm the connection
Slack Step > Channel > Text
Configure message settings
Select your target channel from the dropdown. All public channels and private channels you're in will appear. For the message text, click the data pill button to insert event fields. Use the summary field for the event title and start.dateTime for timing.
- 1Select target channel from dropdown
- 2Click in the 'Text' field
- 3Click the data pill icon
- 4Insert event summary and start time fields
Slack Step > Text Field
Format the notification message
Craft a clear message template using event data. Include the event summary, start time, and any relevant attendee info. You can add custom text around the dynamic fields to make the notification more readable for your team.
- 1Type 'New meeting scheduled:'
- 2Add the event summary field
- 3Include start time with formatting
- 4Add attendee count or organizer info
Workflow > Deploy > Test
Test the complete workflow
Click 'Deploy' then 'Test' to run the workflow with your sample data. Check your Slack channel to see if the notification appears correctly. The message should include the event details formatted as you configured. If it works, your webhook is ready for live events.
- 1Click 'Deploy' at the top
- 2Click 'Test' button
- 3Check your Slack channel
- 4Verify the message format
Google Calendar > Create Event
Verify live webhook
Create a real event in your Google Calendar to test the live webhook. Within 30 seconds, you should see a notification in Slack. The webhook endpoint is now registered with Google Calendar and will fire for all new events on your selected calendar.
- 1Go to your Google Calendar
- 2Create a new test event
- 3Save the event
- 4Check Slack for the notification
Add this Node.js code step between the trigger and Slack to format the start time in your timezone and create a cleaner notification message. Place it right after the Google Calendar trigger.
JavaScript β Code Stepexport default defineComponent({βΈ Show code
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;... expand to see full code
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;
// Format start time to readable format
const startTime = new Date(event.start.dateTime || event.start.date);
const formattedTime = startTime.toLocaleString('en-US', {
weekday: 'short',
month: 'short',
day: 'numeric',
hour: 'numeric',
minute: '2-digit',
timeZone: 'America/Los_Angeles'
});
// Count attendees (excluding organizer)
const attendeeCount = event.attendees ?
event.attendees.filter(a => a.email !== event.creator.email).length : 0;
// Build formatted message
let message = `π
**${event.summary}**\n`;
message += `β° ${formattedTime}\n`;
if (attendeeCount > 0) {
message += `π₯ ${attendeeCount} attendee${attendeeCount > 1 ? 's' : ''}\n`;
}
if (event.location) {
message += `π ${event.location}\n`;
}
if (event.hangoutLink) {
message += `π <${event.hangoutLink}|Join Meeting>`;
}
return {
formatted_message: message,
attendee_count: attendeeCount,
formatted_time: formattedTime
};
},
});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 Pipedream for this if you need instant webhook processing and want to customize the notification format with code. The Node.js code steps let you format timestamps, filter attendees, and build rich Slack messages that Zapier's formatter can't match. Skip Pipedream if you just want basic notifications without customization - Zapier handles simple calendar-to-Slack workflows for half the cost.
Running costs are 1 credit per event notification. At 200 calendar events per month, you'll spend $10/month on Pipedream's paid plan. Zapier costs $20/month for the same volume, while Make charges $9/month. n8n self-hosted is free but requires server management.
Zapier has better Google Calendar trigger reliability and doesn't require webhook renewal management. Make offers cheaper pricing and built-in date formatting functions. n8n provides more complex data manipulation options and unlimited executions. Power Automate integrates better if your team uses Microsoft 365. But Pipedream wins on webhook speed - notifications arrive 10-30 seconds faster than polling-based platforms.
You'll hit Google's webhook renewal requirement where connections expire every week and need refresh. Pipedream handles this automatically, but failures happen when your Google account permissions change. Also, all-day events return dates without times, breaking timestamp formatting code. Test with both timed and all-day events before going live.
Ideas for what to build next
- βAdd event filtering β Include a filter step to only notify for meetings with external attendees or specific keywords in the title.
- βCreate meeting reminders β Build a second workflow that sends Slack reminders 15 minutes before each meeting starts.
- βSync to other tools β Extend the workflow to create Asana tasks or Notion pages for important client meetings automatically.
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