• Home

  • Automation with Zapier

  • Zapier tutorials

Zapier tutorials

9 min read

How to build your own calendar assistant GPT

By Elena Alston · December 15, 2023
Screenshot of OpenAI and Zapier logos on a lilac background

Ever wished for a personal assistant to help you manage your schedule? I know I have. With the constant overlap of meetings, events that happen outside of my working hours, and a deluge of communication in Slack, it can become overwhelming to keep everything organized and on track.

Fortunately, I've been testing out a brand new way to do the heavy lifting for me: by creating my own version of ChatGPT with OpenAI's GPTs and Zapier's AI actions

The combination of the two allows you to build a custom GPT directly in ChatGPT that pulls in the power of Zapier's 6,000+ apps. That means you can take action in apps like Slack or Google Calendar—all from within ChatGPT's interface. 

Picture this: I built my very own Google Calendar GPT that lets me ask about upcoming events on my calendar, send messages to team members about my schedule in Slack, and even search the web for information about meeting attendees. 

Here's how you can build your own from scratch. 

Screenshot of calendar assistant set-up

Want to test out the calendar assistant GPT before you build your own? Try out the live demo.

Before you get started

You'll need a Zapier account to get started. It's free to sign up

You'll also need a ChatGPT Plus or Enterprise account. Already have the required account type? Click Log in to start chatting. 

Screenshot of OpenAI login page

If you're having trouble logging in, your best bet is to reload your page. For specific login issues, check out OpenAI's troubleshooting tips.

Set up your Zapier AI actions

First, we'll need to create and enable the AI actions you want your GPT to perform directly within Zapier. This refers to setting up the apps and the relevant actions you want your GPT to have access to. For the purpose of this tutorial, we'll be adding two actions: Find a Google Calendar event and send a direct message in Slack

Head over to https://actions.zapier.com/gpt/actions/ to get started. 

Once you've opened this page, click Add a new action. You'll see this window:

Screenshot of AI actions page

Type Google Calendar into the search bar, and select Google Calendar: Find Event

Screenshot of Calendar action in AI actions

Now it's time to customize your Google Calendar action. The first three fields (Action, Zapier Account, and Google Calendar Account) will be auto-populated. You shouldn't need to edit them, but you can connect a different Google Calendar account if you need to. 

Screenshot of Zapier AI actions

Under Calendar, you can decide to either have AI guess a value or set a specific value for this field. I recommend this second option so you can select your exact calendar base.   

Screenshot of calendar field

Once you've done that, click Enable action. You'll be brought back to the page listing all of your AI actions. 

Next, let's carry out the same steps for our Slack action. Click Add a new action and type Slack into the search bar. Select Slack: Send Direct Message

Screenshot of Slack action

Remember to connect your specific Slack account. Then you can have the AI guess the values for the usernames and the message text. When you're interacting with your GPT, you can tell it what to write and who to send the message to, so having AI guess the field is a more flexible option. 

Screenshot of Slack action set up

Next, click Show all options. 

Scroll down until you find the Send as a bot? option. I recommend setting a specific value for this field and selecting No from the dropdown menu. If you leave it set to the default setting, any message your GPT sends will be shown as a bot (and you won't be able to see the sent message). If you choose No, this message will come from you—which is what we want in this case. 

Screenshot of bot field

Once you've finished customizing your fields, click Enable action

Create your custom GPT

Once you've created your AI actions, log into ChatGPT and head over to the sidebar and click Explore. Next, click Create a GPT.

Screenshot of create GPT in builder

The GPT builder will display a split screen: the Create panel is where you enter your prompts to build your chatbot; the Preview panel allows you to interact with your chatbot as you build, making it easier to determine how to refine it.

Screenshot of create panel

To get started, you can enter your instructions in the message box of the Create page. If you need inspiration or want to ask it what it can do, you can type it out here. 

Because I want to create a calendar assistant that can connect to both my Slack and Google Calendar accounts, I'll type out the instructions in the message box. This will serve to give it context. 

Screenshot of GPT builder prompt

Once you've typed out your instructions, press Enter

The GPT builder will then suggest a few things based on your instructions: a chatbot name, profile picture, and default conversation starters.

Screenshot of GPT interactions

The GPT builder will prompt you to enter more specific instructions to fine-tune your chatbot's behavior. The more context you give it, the more prompts and conversation starters the GPT will generate in the Preview panel, like so:

You can test your chatbot—interact with it how you normally would—and use its responses to inform your modifications.  

Note: These preliminary instructions serve to give your GPT context, but it won't connect your apps for you. We'll cover how to do this below. 

Configure your GPT

Now it's time to configure your GPT with more advanced instructions. Click Configure on  your GPT builder screen. 

Screenshot of calendar assistant configure panel

If you don't like the name and description the GPT builder generated, you can change your chatbot's name and description in the relevant fields.

Screenshot of GPT name

You can also change the profile picture by clicking on the image and uploading either the relevant file from your computer or by using DALL·E.

Screenshot of calendar icon

Configure your instructions

Once you've finished customizing these fields, scroll down to the Instructions field. You can update the instructions generated by the GPT builder or enter additional instructions and guidelines on how your chatbot should or shouldn't behave. 

In our case, I'm going to add specific instructions for how the GPT should format its output, which kinds of events it should pull from my calendar, and what information it should pull from the internet. Here's an example: 

Screenshot of GPT instructions

Next, you'll need to tell your GPT builder how to interact with your Zapier actions—the ones you set up earlier. These instructions should detail each step your GPT will take as it searches for a Google Calendar event, for example, or searches for a Slack user to message. 

Don't worry if you're not sure what to write. I recommend copying and pasting our Zapier example below directly into your Instructions field, but you can also check out our AI actions help documentation for more information and examples of instructions. Remember, these rules are just a starting point, so feel free to experiment!

###Rules:

- Before running any Actions tell the user that they need to reply after the Action completes to continue.

- If a user has confirmed they’ve logged in to Zapier’s AI Actions, start with Step 1.

###Instructions for Zapier Custom Action:

Step 1. Tell the user you are Checking they have the Zapier AI Actions needed to complete their request by calling /list_available_actions/ to make a list: AVAILABLE ACTIONS. Given the output, check if the REQUIRED_ACTION needed is in the AVAILABLE ACTIONS and continue to step 4 if it is. If not, continue to step 2.

Step 2. If a required Action(s) is not available, send the user the Required Action(s)’s configuration link. Tell them to let you know when they’ve enabled the Zapier AI Action.

Step 3. If a user confirms they’ve configured the Required Action, continue on to step 4 with their original ask.

Step 4. Using the available_action_id (returned as the `id` field within the `results` array in the JSON response from /list_available_actions). Fill in the strings needed for the run_action operation. Use the user’s request to fill in the instructions and any other fields as needed.

Remember to copy and paste this text directly below your other instructions, like so:

Next, you need to add in information from your required actions—this refers to the apps (Slack and Google Calendar) you enabled in a previous step. 

The information you need is the name of your Slack and Google Calendar actions. This is how you should format it:

REQUIRED_ACTIONS:

- Action: Google Calendar: Find Event

- Action: Slack: Send Direct Message 

If, however, you want to share your GPT with other people so they can also use it, you'll need to include the actions' configuration links. This will allow other users to set up their own Zapier AI Actions directly with your GPT.

While we've provided the configuration links for these specific actions below, you can learn how to set up configuration URLs from scratch here.

Here are the configuration links for your Google Calendar and Slack actions: 

REQUIRED_ACTIONS:

- Action: Google Calendar: Find Event

-   Configuration Link: https://actions.zapier.com/gpt/start?setup_action=google%20calendar%20find%20event

- Action: Slack: Send Direct Message 

 -   Configuration Link: https://actions.zapier.com/gpt/start?setup_action=Slack%20Send%20Direct%20Message

Note: If you're building the GPT just for your personal use, you won't need to add the configuration links, just the action names. 

Copy and paste this information into your GPT instructions, below your rules. 

Screenshot of rules pasted in GPT

Once you're done, exit the instructions field and head back into your GPT builder. (Your instructions will save automatically.)

Add conversation starters, upload files, and add capabilities

Head back to your Configure panel. Under Conversation starters, you can click X beside any prompt to remove it or enter a new prompt in an empty field. Remember, these are the example prompts you or your users will see when you open the finished GPT. 

Screenshot of conversation starters

You can also add any company files you have to your GPT in the Knowledge field. For example, you might want to upload your company's style guide or any customer service PDFs you have to give it additional context. In my case, I'll leave it blank. 

Next, check to make sure that your GPT can browse the web as we want our calendar assistant to access information from LinkedIn and other sites. To do this, enable Web Browsing

Screenshot of web browser

Add the necessary actions to your GPT

Now it's time to officially connect your GPT to your Zapier AI actions, which will bring all your apps together. Click Create new action

Screenshot of action CTA

This will bring you to the actions page, which looks like this:

Screenshot of calendar assistant actions page

First up, copy this special URL to your clipboard: 

https://actions.zapier.com/gpt/api/v1/dynamic/openapi.json?tools=meta

You can copy this URL from this blog post or from the Zapier instructions, located here. (You'll only need to use this URL once in your GPT set-up.)

Inside your GPT builder, click Import from URL

Screenshot of import from URL button

Paste in your special URL in the empty HTTPS field and click Import

This will generate text inside the Schema box, which defines the components and paths available in the API. 

Screenshot of action schema

Important: You should now click Save or Update in the top-right corner of your GPT builder.

Screenshot of save button

You'll be able to select who you want to share your custom chatbot with: Only me, Only people with a link, or Public. If you're on an Enterprise plan, you'll also have Anyone at [your company] as an option. 

Once you've enabled your choice, click Confirm to publish your GPT. 

Screenshot of save settings

Test your GPT

Now that we've finished configuring our GPT, it's time to test it out and make sure everything's working correctly. After you've saved your GPT, you'll be able to click View GPT.

Screenshot of view GPT button

This will open the public front-end page of your GPT. 

Screenshot of published GPT

To test your GPT, ask it a question about your schedule. This will kick your AI actions into gear. Just remember that you'll have to click Sign in with actions.zapier.com to grant your GPT access to your Zapier account. 

Screenshot of sign in button

This will take you to another window where you can enable OpenAI to access your Zapier account. Click Allow.

Screenshot of OpenAI/Zapier access window

You'll be taken back to your GPT. Now, thanks to the rules you set up in your GPT, it will first check to make sure that specific Google Calendar action is available:

Screenshot of Google calendar action working

Click Allow

Your GPT will now scan your calendar and send your full agenda to you, according to how you set up your formatting earlier:

Screenshot of meeting agenda

Now because I have an overlap in my schedule, I'm going to test out my Slack action and let someone know I won't be attending the Content monthly meeting.

Screenshot of assistant in action

Once your GPT confirms the Slack message, make sure to double-check that it got sent in Slack.

Screenshot of Slack message

Finally, I'd like to test the GPT's web browser function, using myself as an example:

Screenshot of assistant web browser working

You might use this function, for example, when a new guest outside of your company gets added to a meeting and you'd like to know more about them. You might want to research a customer, a guest attendee, or even pull up recent news about a company itself.

If you're happy with the way everything is working, you're now ready to use your assistant. If something looks off or you want to modify the GPT's instructions, go back and edit your GPT. 

To do this, just click into the dropdown menu of your Google Calendar Assistant and click Edit GPT

Screenshot of edit GPT button

This will bring you to the backend of your GPT where you can continue refining. If you want to share your GPT with other people, just click Copy link and you can share that URL with the rest of your team.

Screenshot of copy link button

Build GPTs that pull in the power of thousands of apps

With Zapier AI Actions and OpenAI's GPT-builder, you can build custom assistants that can help streamline the way you work across thousands of apps—boosting your productivity. 

This is just the start of what you can do. Start experimenting now and see what you can build!

Related reading:

  • Create custom versions of ChatGPT with GPTs and Zapier

  • How to automate ChatGPT

  • Create a digital assistant with Zapier and AI

Get productivity tips delivered straight to your inbox

We’ll email you 1-3 times per week—and never share your information.

tags

Related articles

Improve your productivity automatically. Use Zapier to get your apps working together.

Sign up
See how Zapier works
A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'