n8n

How to Automate Slack to Google Calendar Events?

Turn Slack event requests into real calendar invites. Team members post a message with a calendar emoji, and the invite gets created and kept in sync. Great for teams that plan sessions, meetups, or office events without leaving chat.

A schedule trigger scans a Slack channel for top level posts marked with the calendar emoji. If no invite exists, an AI agent using OpenAI with Wikipedia and SerpAPI pulls a clear title, dates, times, and location, then creates the event in Google Calendar and replies in the Slack thread with the event id to prevent duplicates. When an invite already exists, the flow reads check mark reactions, finds the users and their emails, compares them to current attendees, and adds only the missing people. This avoids extra notifications and keeps attendance accurate.

You will need a Slack user token with the right scopes, a Google Calendar connection, and API keys for OpenAI and SerpAPI. Expect to cut meeting setup from many minutes to under one minute and reduce calendar mistakes. Use it for internal trainings, community events, sales demos, and team socials that start in Slack.

What are the key features?

  • Schedule trigger polls a Slack channel for messages with the calendar emoji and ignores threaded replies
  • AI agent with OpenAI plus Wikipedia and SerpAPI extracts title, date, time and venue from plain text
  • Creates Google Calendar events with summary, location and a clean description
  • Posts a reply in the Slack thread with the calendar event id to signal success
  • Reads check mark reactions and splits user ids to process each person
  • Looks up Slack user profiles and emails, then updates attendees in Google Calendar
  • Compares reactions to current attendees to avoid repeat notifications
  • Uses structured output parsing to keep AI responses predictable

What are the benefits?

  • Reduce manual work from 15 minutes to 1 minute per event
  • Automate about 90 percent of steps from post to invite
  • Prevent duplicate invites by tagging each thread with an event id
  • Improve attendee accuracy by adding only users who reacted
  • Connect Slack, Google Calendar and AI tools without app switching

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Slack, Google Calendar, OpenAI, Wikipedia and SerpAPI. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, open the Slack node and create a new Slack credential. Use a user access token with scopes that allow message search, reactions read, users read and chat write. Name the credential clearly so your team knows it is for event scheduling.
  4. In the Google Calendar nodes, create a new Google credential. Sign in with a workspace account that can create and edit events on the target calendar. Select the correct calendar in Create Event, Get Event Details and Add Attendee nodes.
  5. For OpenAI, create a new credential using your API key from the OpenAI account page. Paste the key and choose your preferred model in the OpenAI Chat Model node.
  6. For SerpAPI, get your API key from the SerpAPI dashboard. In the SerpAPI node, create a new credential and paste the key.
  7. Wikipedia tool does not require an account. If prompted, simply leave credentials empty and confirm the node is connected.
  8. Configure the Slack search query. In the Search for Invite Requests node, change the query to match your channel, for example: in:#events has::calendar:. This filters for top level posts with the calendar emoji.
  9. Update the channel id used in the Get Invite Replies node. Replace the sample channel id with your channel id so replies are read from the correct place.
  10. Review the AI agent chain. Confirm the Structured Output Parser, OpenAI Chat Model, Wikipedia and SerpAPI nodes connect to the Calendar Event Booking Agent. Keep the prompts simple so titles, dates and locations are produced in a structured format.
  11. Run a test. Post a new message in the Slack channel with event details and a calendar emoji. Wait for the reply that includes the event id, then check Google Calendar for the created event.
  12. Test attendee sync. Ask teammates to react with a check mark. Confirm their emails are found and they are added as attendees without duplicate notifications.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Google Calendar

Sign up

Free: $0; all Google Calendar API usage is at no additional cost; quota limits apply (no charges for overages).

OpenAI

Sign up

Pay-as-you-go: GPT-5 at $1.25 per 1M input tokens and $10 per 1M output tokens

SerpAPI

Sign up

Free tier: $0 / mo, 100 searches / mo

Slack

Sign up

Free plan: $0 / mo; limited to 10 apps (third-party or custom) and usable via Slack API

Wikipedia

Sign up

Free: $0 (public Wikimedia APIs). Enterprise Free: $0 with 5,000 on‑demand requests / mo and twice‑monthly snapshots

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.