Ben's Bites
← Back
.md

Create a meeting scheduler assistant

Learn how to create an automated meeting scheduler that can handle availability checks, send personalized invites, and manage rescheduling using Lindy.

advanced pro
Tool: Lindy AI Topic: AdminTopic: Productivity

2024-12-09

Welcome to the fourth lesson of our AI personal assistants course!

In this tutorial, we'll walk you through the process of building an AI-powered meeting scheduling assistant with Lindy. This assistant can automatically handle availability checks, send personalized invites, and manage rescheduling, making your meeting scheduling process much more efficient.

Steps we'll follow in this tutorial:

  • Set up the Meeting Scheduler Lindy trigger
  • Set up conditional flows
  • Configure calendar settings
  • Create event parameters
  • Set up the confirmation message
  • Save and test the flow

You’ll need:

Let’s dive in!

Step 1: Set up the ‘Meeting Scheduler Lindy’ trigger

To get started, navigate to the Lindy marketplace, find the Meeting Scheduler Lindy, and click on it to add the assistant to your workspace.

__wf_reserved_inherit

This will take you to the flow editor of the Lindy. In the flow editor, start by clicking on the Email Received trigger. This is where you'll set up the Lindy mail address that you'll CC on your emails for scheduling support.

__wf_reserved_inherit

You can customize the Lindy mail address or leave it to the default "scheduler" prefix. There are additional parameters you can set here (Filter events, etc.), but for this tutorial, we'll stick with the default settings.

__wf_reserved_inherit

Step 2: Set up conditional flows

Next, click on the first condition in the flow. This condition instructs Lindy whether to find available time slots on your calendar or book time directly.

We’ll keep the default prompts from the template for this step.

Finding Time Prompt:

Your user (email sender = USER'S EMAIL) is asking you (Lindy) to find times to meet (the user is not proposing specific times himself).

An example of this would be a message from the user saying something like "Cc'ing Lindy to find time for us to meet on [dates / times of day].

Book Directly Prompt:

Your user (email sender = USER'S EMAIL) has asked you (Lindy) specifically to book a meeting at a specific day and time. Only proceed if user said something like "Lindy, please book time for us at [specific date & time].

Do NOT proceed if the user cc's you and asks you to FIND time to meet.
__wf_reserved_inherit
💡 Tip: You can specify in your follow-up emails with Lindy whether she should book specific times or find a time based on your calendar.

Step 3: Configure calendar settings

Next, move on to the Find Available Times step. Ensure that your calendar is authorized here. You can set the default duration for meetings using an AI prompt. The default is set to 30 minutes unless otherwise specified.

Default Prompt:

30 minutes, unless otherwise specified
__wf_reserved_inherit

You can also set different calendar parameters, such as your workday times and allowed workdays of the week. These parameters will constrain Lindy when finding available times on your calendar (in addition to not booking over existing meetings by default).

__wf_reserved_inherit

After configuring the Find Available Times settings, you'll see a Send Reply section. This is where you can add an AI prompt for Lindy to use when following up with available times on your email chains. You can leave this at the default setting or customize it as needed.

Default Prompt:

Reply with the times you just found, send an email like this:

"Hi $FIRSTNAME,

Happy to help you find a time! Do any of the following work for you? (all times in $TIMEZONE):

Monday, June 21st at 3pm (make sure the times are formatted like this)
...
...

Best,
Lindy"

##Notes##

1. Do tailor this reply to the context of the conversation. Don't reply to this word for word every time like a robot.
2. $FIRSTNAME should refer to the person to whom you are offering times. Usually, you won't address your user (the email who first cc'd you).

So if your user asks you to find times for the group, you should address the other person on the email thread (e.g. "Hi James" if James is the other person on the email thread).

You can also address both your user and the other person where this makes sense. If you are unsure whom to address, just skip the "Hi $FIRSTNAME" altogether and get right to the body of the email. To be clear, you should never say "Hi Jack" since Jack is the name of your user.

1. There is no need to say anything like this (the other person knows we don't have access to their calendar): "Please note that these times reflect the availability of Florent and Jack, as I don't have access to Harrison's calendar."
2. Be sure to only offer times that you found available from the most recent list_best_times_to_meet action
3. $TIMEZONE should just be formatted like: Pacific Time, Mountain Time, Central Time, or Eastern Time
__wf_reserved_inherit
💡 Tip: You can set other parameters in this setting like the From name or even enable a human-in-the-loop step by enabling the “Asking for confirmation” switch in the settings. If enabled, Lindy will send you the email reply as a draft in the Lindy app for you to review and approve before sending. This human-in-the-loop step is helpful when you’re getting started with setting this workflow up.

Step 4: Create event parameters

After your Send Reply action is set up, you’ll need to handle scenarios where your recipients accept or decline the available time slots Lindy provides. This is managed in the flow editor via the second Condition step in the flow. There are two conditional paths here:

  • Condition 1: The other party accepted one time that you just offered.
  • Condition 2: The other party did not accept any time, or offered other times.

We’ll leave these conditions as the default prompts, but feel free to edit these as you need. The default settings will either loop Lindy back to find more available times if the recipients did not accept any time, or the flow will proceed to create the calendar event if they did accept one of the offered times.

__wf_reserved_inherit

Next, click on the Create Event step. This is where you'll set all the parameters for how events will be created. Edit the Name field as an AI prompt based on how you want to name your events.

Sample Prompt:

Best name for the event. I typically like my meetings called "[name of other attendee] : [my name] [a bit of context]”
__wf_reserved_inherit
💡 Tip: For the Create Event step, we recommend updating the Model to Claude Sonnet 3.5. It performed better than GPT-4 Turbo for this one specific step quite significantly.

In addition to adding the name, you can add a location manually, such as a Google Meet link or a Zoom link, to have a default location always included in your calendar invites.

__wf_reserved_inherit

With the Location set, an additional parameter we recommend updating is the “Attendees To Invite” field. Update this to an “AI Prompt” and set the prompt to capture all the people you want to be included (and excluded) on the calendar invite.

Sample Prompt:

All unique emails on the thread, except those ending in @lindymail.ai
__wf_reserved_inherit
💡 Tip: There are many other parameters you can set here to customize your events. The ones we’ve walked through are the most pertinent but feel free to explore and update the additional settings as needed.

Step 5: Set up the confirmation message

After setting up the event creation, you'll see another Send Reply section. This message is what Lindy will reply with once the event has been created. For the “Body” field, you can leave this as the default AI prompt or customize it to your liking.

Default Prompt:

Reply with a confirmation that the invite has been sent, the reply should look like this:

“Sounds great, I just sent the invite! Let me know if there is any other way I can be helpful.

--Lindy”

Personalize the email where you see fit based on the general context, but do not vary the response far from the suggested response.
__wf_reserved_inherit

Finally, there's another Condition step that determines what happens if the other party asks to reschedule or find a different time after the event is created. If they're asking about rescheduling, Lindy will delete the scheduled event and loop back to find available times again.

__wf_reserved_inherit
💡 Tip: There’s nothing you need to edit here unless you want rescheduling handled differently from the default template.

In addition to the email scheduling flow, there’s a chat workflow enabled in this flow as well, letting you chat with Lindy in the Lindy app to manage meeting scheduling too.

__wf_reserved_inherit

Step 6: Save and test the workflow

Once you've configured all the settings to your satisfaction, save the flow. You can do this by clicking the Save button in the top right of the flow editor.

__wf_reserved_inherit

To test your new Meeting Schedule Assistant, copy the Lindy mail address from the Email Received trigger to your clipboard.

__wf_reserved_inherit

Then, send a test email and CC the Lindy address, asking for a time to meet.

__wf_reserved_inherit

Lindy should follow up with available times from your synced calendar.

__wf_reserved_inherit

Respond with one of those times, and Lindy will create the invite accordingly.

__wf_reserved_inherit
__wf_reserved_inherit

Finally, she'll follow up to confirm that the invite has been sent and ask if you need anything else.

__wf_reserved_inherit

You can always go back to the Lindy flow editor and check the task view to see the full audit trail of the workflow. To do this, click the back button in the top left corner of the flow editor.

__wf_reserved_inherit

You’ll see the full audit trail of the automation in the task window. You can also request updates to scheduled events here via chat if needed.

__wf_reserved_inherit

And that's it! You've now set up an AI-powered meeting scheduling assistant with Lindy that can handle your scheduling needs automatically.

In the next lesson, we’ll dive into another aspect of meeting management—meeting prep, setting up a Lindy to automatically send you background on meeting attendees before you hop on the call.

This tutorial was created by Garrett.

Upgrade to Pro

This tutorial contains Pro content. Upgrade to access the full tutorial and all Pro features.

Get Pro Access