← Google Calendar + Slack integrations

Send Message to a Public Channel with Slack API on Event Cancelled from Google Calendar API

Pipedream makes it easy to connect APIs for Slack, Google Calendar and 1200+ other apps remarkably fast.

Trigger workflow on
Event Cancelled from the Google Calendar API
Next, do this
Send Message to a Public Channel with the Slack API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜

Trusted by 500,000+ developers from startups to Fortune 500 companies

Adyen logo
Brex logo
Carta logo
Checkr logo
Chameleon logo
DevRev logo
LinkedIn logo
Netflix logo
New Relic logo
OnDeck logo
Replicated logo
Scale AI logo
Teamwork logo
Warner Bros. logo
Xendit logo

Developers Pipedream

Getting Started

This integration creates a workflow with a Google Calendar trigger and Slack action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the Event Cancelled trigger
    1. Connect your Google Calendar account
    2. Select a Calendar ID
    3. Configure timer
  3. Configure the Send Message to a Public Channel action
    1. Connect your Slack account
    2. Optional- Configure Send as User
    3. Optional- Configure Bot Username
    4. Optional- Select a Icon (emoji)
    5. Optional- Configure Icon (image URL)
    6. Optional- Configure Schedule message
    7. Optional- Configure Include link to workflow
    8. Optional- Configure Metadata Event Type
    9. Optional- Configure Metadata Event Payload
    10. Select a Channel ID
    11. Configure Text
    12. Optional- Configure Send text as Slack mrkdwn
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emits when an event is cancelled or deleted
Version:0.1.2
Key:google_calendar-event-cancelled

Google Calendar Overview

The Google Calendar API gives developers access to Google Calendar data,
allowing them to create their own applications that can read, write, and update
calendar data. With the API, users can integrate their own calendar
applications with Google Calendar, giving them the ability to manage their
calendars in one place. The API also provides the ability to search for events
and create new events.

Possible applications that could be built using the Google Calendar API
include:

  • A calendar application that integrates with Google Calendar, allowing users
    to manage their calendars in one place.
  • A calendar application that allows users to search for events and create new
    events.
  • A to-do list application that integrates with Google Calendar, allowing users
    to see their tasks and events in one place.
  • A reminder application that uses Google Calendar data to remind users of
    upcoming events.

Trigger Code

import common from "../common.mjs";

export default {
  ...common,
  key: "google_calendar-event-cancelled",
  name: "Event Cancelled",
  description: "Emits when an event is cancelled or deleted",
  version: "0.1.2",
  type: "source",
  dedupe: "unique", // Dedupe events based on the Google Calendar event ID
  methods: {
    ...common.methods,
    getConfig({
      intervalMs, now,
    }) {
      const updatedMin = new Date(now.getTime() - intervalMs).toISOString();
      return {
        calendarId: this.calendarId,
        updatedMin,
        showDeleted: true,
        singleEvents: true,
        orderBy: "startTime",
      };
    },
    isRelevant(event) {
      return event.status === "cancelled";
    },
  },
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
Google CalendargoogleCalendarappThis component uses the Google Calendar app.
Calendar IDcalendarIdstringSelect a value from the drop down menu.
timer$.interface.timer

Trigger Authentication

Google Calendar uses OAuth authentication. When you connect your Google Calendar account, Pipedream will open a popup window where you can sign into Google Calendar and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Google Calendar API.

Pipedream requests the following authorization scopes when you connect your account:

emailprofilehttps://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.settings.readonly

About Google Calendar

Scheduling calendar service developed by Google

Action

Description:Send a message to a public channel and customize the name and avatar of the bot that posts the message. See [postMessage](https://api.slack.com/methods/chat.postMessage) or [scheduleMessage](https://api.slack.com/methods/chat.scheduleMessage) docs here
Version:0.2.15
Key:slack-send-message-public-channel

Slack Overview

The Pipedream Slack app enables you to build event-driven workflows that interact with the Slack API. When you authorize the Pipedream app's access to your workspace, you can use Pipedream workflows to perform common Slack actions, or write your own code against the Slack API.

The Pipedream Slack app is not a typical app. You don't interact with it directly as a bot, and it doesn't add custom functionality to your workspace out of the box. It just makes it easier to automate anything you'd typically use the Slack API for, using Pipedream workflows.

Here are some examples of automations you can build with Pipedream on Slack:

  • Automate posting updates to your team channel
  • Create a bot to answer common questions
  • Integrate with your existing tools and services
  • Build a custom dashboard to track your team's progress
  • Create a bot to handle scheduling and meeting requests
  • And much more!

Should I use the Slack or Slack Bot app on Pipedream?

The Slack app is the easiest and most convienent option to get started. It installs the official Pipedream bot into your Slack workspace with just a few clicks.

However, if you'd like to use your own bot registered with the Slack API, you can use the Slack Bot app instead.

The Slack Bot requires a bot token to allow your Pipedream workflows to authenticate as your bot. The extra set up steps allow you to list your custom bot on the Slack Marketplace, or install the bot on other workspaces as your bot's name instead of as Pipedream.

Getting Started

You can install the Pipedream Slack app in the Accounts section of your account, or directly in a workflow

Accounts

  1. Visit https://pipedream.com/accounts.
  2. Click on the Click Here To Connect An App button in the top-right.
  3. Search for "Slack" among the list of apps, and select it.
  4. This will open a new window asking you to allow Pipedream access to your Slack workspace. Choose the right workspace where you'd like to install the app, then click Allow.
  5. That's it! You can now use this Slack account in any actions, or link it to any code step.

Within a workflow

  1. Create a new workflow.
  2. Select your trigger (HTTP, Cron, etc.).
  3. Click on the + button below the trigger step, and search for "Slack".
  4. Select the Send a Message action.
  5. Click the Connect Account button near the top of the step. This will prompt you to select any existing Slack accounts you've previously authenticated with Pipedream, or you can select a New account. Clicking New opens a new window asking you to allow Pipedream access to your Slack workspace. Choose the right workspace where you'd like to install the app, then click Allow.
  6. That's it! You can now connect to the Slack API using any of the Slack actions within a Pipedream workflow.

Troubleshooting

Please reach out to the Pipedream team with any technical issues or questions about the Slack integration. We're happy to help!

Action Code

import common from "../common/send-message.mjs";
import constants from "../../common/constants.mjs";

export default {
  ...common,
  key: "slack-send-message-public-channel",
  name: "Send Message to a Public Channel",
  description: "Send a message to a public channel and customize the name and avatar of the bot that posts the message. See [postMessage](https://api.slack.com/methods/chat.postMessage) or [scheduleMessage](https://api.slack.com/methods/chat.scheduleMessage) docs here",
  version: "0.2.15",
  type: "action",
  props: {
    ...common.props,
    conversation: {
      propDefinition: [
        common.props.slack,
        "channelId",
        () => ({
          types: [
            constants.CHANNEL_TYPE.PUBLIC,
          ],
        }),
      ],
    },
    text: {
      propDefinition: [
        common.props.slack,
        "text",
      ],
    },
    mrkdwn: {
      propDefinition: [
        common.props.slack,
        "mrkdwn",
      ],
    },
    username: {
      propDefinition: [
        common.props.slack,
        "username",
      ],
      description: "Optionally customize your bot's username (default is `Pipedream`).",
    },
    icon_emoji: {
      propDefinition: [
        common.props.slack,
        "icon_emoji",
      ],
      description: "Optionally use an emoji as the bot icon for this message (e.g., `:fire:`). This value overrides `icon_url` if both are provided.",
    },
    icon_url: {
      propDefinition: [
        common.props.slack,
        "icon_url",
      ],
      description: "Optionally provide an image URL to use as the bot icon for this message.",
    },
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
SlackslackappThis component uses the Slack app.
Send as Useras_userboolean

Optionally pass TRUE to post the message as the authed user, instead of as a bot. Defaults to FALSE.

Bot Usernameusernamestring

Optionally customize your bot's username (default is Pipedream).

Icon (emoji)icon_emojistringSelect a value from the drop down menu.
Icon (image URL)icon_urlstring

Optionally provide an image URL to use as the bot icon for this message.

Schedule messagepost_atinteger

Messages can only be scheduled up to 120 days in advance, and cannot be scheduled for the past. The datetime format should be a unix timestamp (e.g., 1650507616, see here for help with this format).

Include link to workflowinclude_sent_via_pipedream_flagboolean

Defaults to true, includes a link to the workflow at the end of your Slack message.

Metadata Event Typemetadata_event_typestring

The name of the metadata event

Metadata Event Payloadmetadata_event_payloadstring

The payload of the metadata event. Must be a JSON string e.g. {"key": "value"}

Channel IDconversationstringSelect a value from the drop down menu.
Texttextstring

Text of the message to send (see Slack's formatting docs). This field is usually necessary, unless you're providing only attachments instead.

Send text as Slack mrkdwnmrkdwnboolean

TRUE by default. Pass FALSE to disable Slack markup parsing. See docs here

Action Authentication

Slack uses OAuth authentication. When you connect your Slack account, Pipedream will open a popup window where you can sign into Slack and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Slack API.

Pipedream requests the following authorization scopes when you connect your account:

bookmarks:writecalls:readcalls:writechannels:historychannels:readchannels:writednd:readdnd:writeemoji:readfiles:readgroups:historygroups:readgroups:writeim:historyim:readim:writelinks:readlinks:writempim:historympim:readmpim:writepins:readpins:writereactions:readreactions:writereminders:readreminders:writeremote_files:readremote_files:sharestars:readstars:writeteam:readusergroups:readusergroups:writeusers:readusers:read.emailusers:writechat:write:botchat:write:usercommandsfiles:write:userusers.profile:writeusers.profile:readsearch:read

About Slack

Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.

More Ways to Connect Slack + Google Calendar

Create Event with Google Calendar API on New Message In Channels from Slack API
Slack + Google Calendar
 
Try it
Delete an Event with Google Calendar API on New Message In Channels from Slack API
Slack + Google Calendar
 
Try it
Retreive Calendar Details with Google Calendar API on New Message In Channels from Slack API
Slack + Google Calendar
 
Try it
Retreive Event Details with Google Calendar API on New Message In Channels from Slack API
Slack + Google Calendar
 
Try it
List calendars from user account with Google Calendar API on New Message In Channels from Slack API
Slack + Google Calendar
 
Try it
Event Start from the Google Calendar API

Emits a specified time before an event starts

 
Try it
Upcoming Event Alert from the Google Calendar API

Triggers based on a time interval before an upcoming event in the calendar. This source uses Pipedream's Task Scheduler. See here for more information and instructions for connecting your Pipedream account.

 
Try it
New or Updated Event (Instant) from the Google Calendar API

Emit new calendar events when an event is created or updated (does not emit cancelled events)

 
Try it
New Event from the Google Calendar API

Emits when an event is created

 
Try it
Event Search from the Google Calendar API

Emit when an event is created that matches a search

 
Try it
Add Quick Event with the Google Calendar API

Create an event to the Google Calendar. See the docs here

 
Try it
Create Event with the Google Calendar API

Create an event to the Google Calendar. See the docs here

 
Try it
Delete an Event with the Google Calendar API

Delete an event to the Google Calendar. See the docs here

 
Try it
List calendars from user account with the Google Calendar API

Retrieve calendars from the user account. See the docs here

 
Try it
List Events with the Google Calendar API

Retrieve a list of event from the Google Calendar. See the docs here

 
Try it

Explore Other Apps

1
-
12
of
1200+
apps by most popular

HTTP / Webhook
HTTP / Webhook
Get a unique URL where you can send HTTP or webhook requests
Node
Node
Anything you can do with Node.js, you can do in a Pipedream workflow. This includes using most of npm's 400,000+ packages.
Beta
Python
Python
Anything you can do in Python can be done in a Pipedream Workflow. This includes using any of the 350,000+ PyPi packages available in your Python powered workflows.
Schedule
Schedule
Trigger workflows on an interval or cron schedule.
Beta
Data Stores
Data Stores
Use Pipedream Data Stores to manage state throughout your workflows.
Telegram Bot
Telegram Bot
Telegram is a cloud-based instant messaging and voice over IP service
OpenAI (ChatGPT)
OpenAI (ChatGPT)
OpenAI is an AI research and deployment company with the mission to ensure that artificial general intelligence benefits all of humanity. They are the makers of popular apps like ChatGPT and DALL·E 2.
Google Sheets
Google Sheets
With Google Sheets, you can create, edit, and collaborate wherever you are
Discord
Discord
Use this app to create a Discord source that emits messages from your guild to a Pipedream workflow.
GitHub
GitHub
Where the world builds software. Millions of developers and companies build, ship, and maintain their software on GitHub—the largest and most advanced development platform in the world.
Formatting
Formatting
Pre-built actions to make formatting and manipulating data within your workflows easier.
Slack
Slack
Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.