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.
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.
.webp)
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.
.webp)
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.
.webp)
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.
.webp)
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
.webp)
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).
.webp)
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
.webp)
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.
.webp)
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]”
.webp)
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.
.webp)
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
.webp)
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.
.webp)
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.
.webp)
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.
.webp)
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.
.webp)
To test your new Meeting Schedule Assistant, copy the Lindy mail address from the Email Received trigger to your clipboard.
.webp)
Then, send a test email and CC the Lindy address, asking for a time to meet.
.webp)
Lindy should follow up with available times from your synced calendar.
.webp)
Respond with one of those times, and Lindy will create the invite accordingly.
.webp)
.webp)
Finally, she'll follow up to confirm that the invite has been sent and ask if you need anything else.
.webp)
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.
.webp)
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.
.webp)
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.