🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Slack to Google Calendar, scheduling handled for you

Lisa Granqvist Partner Workflow Automation Expert

Meeting scheduling inside Slack sounds simple until it turns into a messy thread, three time zones, and a calendar entry that’s slightly wrong (again).

Slack calendar automation is for the teams who live in chat but still need clean, reliable events. Marketing leads chasing approvals feel it first. Ops folks running weekly cadence meetings do too. And honestly, assistants and team coordinators end up doing the same copy-paste dance all day.

This workflow gives n8n a “calendar tools layer” that can understand a request, remember the context, and then create, list, or delete Google Calendar events correctly. You’ll see how it works, what you need, and what to watch out for.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Slack to Google Calendar, scheduling handled for you

Why This Matters: Scheduling Requests Get Messy Fast

Calendar work looks tiny on paper. In practice, it’s constant interruptions. Someone asks for “tomorrow at 10,” another person means “tomorrow my time,” and by the time you clarify, you’ve lost the thread and the energy. Then comes the second round: fixing the title, adding the right guests, moving it 30 minutes, deleting the duplicate you accidentally created. The worst part is you still can’t trust the calendar, so you double-check everything anyway.

It adds up fast. Here’s where it usually breaks down:

  • Slack messages are vague, so you spend extra time asking follow-up questions just to get something schedulable.
  • Manual calendar edits invite small mistakes, and those mistakes turn into missed meetings or awkward reschedules.
  • Event updates happen in threads, but the “source of truth” is Google Calendar, so information drifts.
  • Deleting or finding the right event later is surprisingly slow when you don’t have the event ID handy.

What You’ll Build: A Slack-Driven Calendar Agent That Creates, Lists, or Deletes Events

This n8n workflow is a sub-agent that receives two inputs from a parent workflow: the request text (what someone typed in Slack) and a session ID (so the agent can remember the short conversation context). Once triggered, an AI Agent uses an OpenAI chat model plus short-term memory to interpret what the user actually wants: list events, create a new event, or delete an existing one. Then it calls the right Google Calendar “tool” node to do the job in your calendar, using your OAuth credentials and the calendar ID you choose.

The flow starts with an Execute Workflow Trigger that hands the message into the agent. The agent routes the request to one of three actions (Get, Create, Delete). Finally, the result can be returned back to the parent so your Slack experience feels like “ask, confirm, done,” instead of “ask, wait, chase, fix.”

What You’re Building

Expected Results

Say your team schedules or changes 10 meetings a week through Slack. Manually, it’s easy to spend about 6 minutes per request between clarifying details, creating the event, and fixing small mistakes, so you’re looking at roughly an hour of calendar admin. With this workflow, the request is one message, then the agent creates (or lists, or deletes) the event and returns the result to the parent flow. You still might confirm details sometimes, but most teams get that hour back and stop reopening Google Calendar all day.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Slack to capture scheduling requests in chat
  • Google Calendar to create, list, and delete events
  • OpenAI API key (get it from your OpenAI dashboard)

Skill level: Intermediate. You’ll be connecting OAuth credentials, choosing a calendar, and plugging this sub-workflow into a parent workflow that talks to Slack.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A parent workflow sends a request. This sub-agent starts when the parent passes in two fields: text (the Slack message content) and sessionid (a conversation key so it can keep context briefly).

The agent interprets intent using OpenAI. An OpenAI chat model reads the message and, with a small memory buffer, decides what the user is trying to do. “Schedule ‘Team Sync’ tomorrow 10:00–11:00” becomes a create action. “List events next week” becomes a retrieve action. Short, clear, and surprisingly effective.

Google Calendar tools do the real work. Based on the decision, n8n runs one of the Google Calendar tool nodes: Add Calendar Event, Retrieve Calendar Events, or Remove Calendar Event. The tools use your Google OAuth2 credential and the calendar ID you set (often something like [email protected], then choose the real calendar at runtime).

The result goes back upstream. The sub-agent returns the created event details, the list of events, or confirmation of deletion so the parent can message back in Slack, email someone, log to a sheet, or do whatever your process needs.

You can easily modify the agent’s behavior to ask for confirmation before creating events, or to enforce naming conventions for meeting titles based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Subworkflow Trigger

Set up the subworkflow entry point so parent workflows can pass user requests and session context into the assistant.

  1. Add the Subworkflow Execution Trigger node to your canvas.
  2. In Workflow Inputs, add input fields named text and sessionid to match the trigger’s expected payload.
  3. Connect Subworkflow Execution Trigger to Calendar Agent Core in the main flow.

Step 2: Connect Google Calendar

Authorize Google Calendar access for all calendar operations used by the assistant.

  1. Open Add Calendar Event and set Credential Required: Connect your googleCalendarOAuth2Api credentials.
  2. Open Retrieve Calendar Events and set Credential Required: Connect your googleCalendarOAuth2Api credentials.
  3. Open Remove Calendar Event and set Credential Required: Connect your googleCalendarOAuth2Api credentials.
  4. In each calendar tool node, set Calendar to your calendar, replacing [YOUR_EMAIL] with the correct account.

⚠️ Common Pitfall: Leaving [YOUR_EMAIL] in the Calendar field will prevent events from being created or retrieved. Always select the correct calendar.

Step 3: Set Up the AI Agent and Model

Configure the AI brain that interprets instructions and routes them to calendar tools.

  1. Open Calendar Agent Core and set Text to ={{ $json.text }}.
  2. In Calendar Agent Core under OptionsSystem Message, keep the provided prompt so it uses tools for Get/Create/Delete and includes {{ $now }} context.
  3. Open OpenAI Dialogue Model and set Credential Required: Connect your openAiApi credentials.
  4. Set the Model in OpenAI Dialogue Model to gpt-4.1-mini.

OpenAI Dialogue Model is connected as the language model for Calendar Agent Core—ensure credentials are added to OpenAI Dialogue Model, not the agent.

Step 4: Configure Memory and Calendar Tools

Attach memory for conversational context and wire the tool nodes used by the agent.

  1. Open Session Memory Buffer and set Session Key to ={{ $json.sessionid }} with Session Id Type set to customKey.
  2. In Add Calendar Event, set Start to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }} and End to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}.
  3. In Add Calendar Event, set Additional Fields → Summary to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }} and Use Default Reminders to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Use_Default_Reminders', ``, 'boolean') }}.
  4. In Retrieve Calendar Events, set Operation to getAll, Time Min to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}, Time Max to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}, and Return All to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}.
  5. In Remove Calendar Event, set Operation to delete and Event ID to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}.

The tool nodes (Add Calendar Event, Retrieve Calendar Events, Remove Calendar Event) and Session Memory Buffer are connected to Calendar Agent Core. Configure tool settings in each node, while credentials remain on the tool nodes themselves.

Step 5: Test and Activate Your Workflow

Validate the assistant end-to-end, then activate it for production subworkflow calls.

  1. Click Execute Workflow on Subworkflow Execution Trigger and provide sample inputs for text and sessionid.
  2. Confirm Calendar Agent Core selects a tool and returns an action that matches the request (create, retrieve, or delete).
  3. Check your Google Calendar to verify created events, returned results, or deletions performed by Add Calendar Event, Retrieve Calendar Events, and Remove Calendar Event.
  4. When successful, toggle the workflow to Active so parent workflows can call this subflow.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Google Calendar OAuth credentials can expire or lack the right permissions. If things break, check the credential status inside n8n first and re-auth if needed.
  • If your parent workflow expects a response quickly, AI calls can be the bottleneck. Increase any timeout/waiting behavior upstream if Slack replies arrive before the calendar action finishes.
  • Default AI prompts are generic, so the agent may create vague titles like “Meeting.” Add your naming rules early (team name, project code, or client prefix) or you’ll be cleaning up events later.

Quick Answers

What’s the setup time for this Slack calendar automation?

About 10 minutes once your credentials are ready.

Is coding required for this scheduling automation?

No. You’ll import the workflow, connect credentials, and map the two inputs (text and sessionid).

Is n8n free to use for this Slack calendar automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage, which is usually a few cents per batch of requests depending on your model and message size.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I modify this Slack calendar automation workflow for different use cases?

Yes, and you probably should. You can adjust the Calendar Agent Core instructions to require confirmation before it runs Add Calendar Event, or to always ask for a timezone when one isn’t provided. You can also swap the OpenAI Dialogue Model for a different chat model if you prefer, and tune the Session Memory Buffer window so it remembers a little more (or less) context. Most teams also customize the Create behavior to enforce meeting titles and default durations.

Why is my Google Calendar connection failing in this workflow?

Usually it’s expired OAuth2 access or the wrong Google account is authorized. Reconnect the Google Calendar credential in n8n, then re-select the calendar in the tool nodes (Add, Retrieve, Remove) to make sure the calendar ID and permissions match. If you’re using a placeholder calendar ID and choosing the calendar at runtime, confirm the runtime value is actually being passed. Also watch for Google API limits if you start listing large date ranges repeatedly.

What volume can this Slack calendar automation workflow process?

For most teams, “lots.” On n8n Cloud the practical limit is your monthly executions, and on self-hosting it depends on your server. Because each request typically triggers one AI call plus one calendar action, a small team can run this all day without trouble, while high-volume helpdesks should plan capacity and rate limits.

Is this Slack calendar automation better than using Zapier or Make?

Often, yes. This workflow relies on an agent choosing between multiple tools (create, list, delete), plus short-term memory, which is where n8n tends to feel more flexible. Zapier and Make can do it, but multi-branch logic and AI-heavy steps get expensive and awkward faster. If you only need “Slack message → create one fixed event,” those tools are simpler. If you want chatty scheduling that evolves over a few messages, n8n is a better fit. Talk to an automation expert if you want a quick recommendation for your setup.

Once this is in place, scheduling stops being a mini-project inside Slack. The workflow handles the repetitive calendar work so you can get back to the conversation that actually matters.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal