Meet with Me: A Booking App that Prevents Conflicts

Sorry, I can’t think of a way to do this. I tried a few different formats (MM/DD/YYYY, ISO Timestamp, and decimal) but it’s not recognized. I know the calendar is very forgiving on date format and can parse strings as dates, so that’s probably why that works, but I suppose a template is always recognized as a string.

Just wanted to check in how you guys would do this: create an email back to the user with confirmation of their selected time — this wouldn’t need to happen on submission and could be done as a reminder email 24 hrs before the booking. How would you do it if you had to add this functionality?

Probably a zapier action from the sheet itself, not the app. There are other google sheet addons as well that will mail merge and email based on a condition in the sheet. If I were fancier, maybe even a script?

1 Like

Can you share this app as a template please?

I’ll create a generic version of this app soon. The current one is tied to my accounts. Stay tuned!

1 Like

Is it possible to take a screenshot of how you made the Zap?

:revolving_hearts: Copy this App:


:zap: Copy my Zap:


:gear: Screenshot of Zap Configuration:

7 Likes

Thanks for sharing.

1 Like

wow this is a kickass app. mean dude. thanks for the copy!

1 Like

Appreciate the kind words!

Robert, do you have a way for the app to know conflicts from Google calendar?

No, not at this time. Glides going in the right direction with Google Authentication, but until Glide itself can pull user calendar information, I can’t see this happening in the foreseeable future.

You know what…I stand corrected. You could use some sort of Zapier action to import your Google calendar events into your sheet and do a check against that too…issue would be if you changed events in your Google Calendar. You’d need a separate Zapier to recognize event changes. Also, the zapier trigger from the glide app could trigger the other trigger to import from Calendar once you accept the invite resulting in a duplicate event.

So it’s clunky…but possible.

2 Likes

This is amazing work!

1 Like

Had to try this out!

The Zap:

Here’s the zap that imports to the Response tab of the Google Sheet:

Proof of concept:

Made a new 30-min Google Calendar Event on 4/6 at 7:00. You can see it generates a new row in the sheet which is recognized by Glide and results in the time slot being unavailable.

If you try this out for yourself, make sure you leave the end date_time tag empty. The sheet fills this in automatically based on the duration. Adding this tag will break the Arrayformula in the sheet.

The Other Zap:

Here’s the Zap that will delete the item from the Glide app sheet if deleted from the calendar. This one is not instant.

Only thing I haven’t figured out is if you edit the event (change date/time). My original Zap created a second row in the sheet with the new information rather than modifying the old one.

2 Likes

You’re the best, thanks for sharing!

1 Like

One question:
Say User1 booked a meeting at 11:00 am on April 9th, for 1 hour.
How do you prevent User2 from booking at 10:30 am on April 9th for 1 hour? As of now the app would let User2 to book that time, even though it would interfere with User1’s meeting.

Maybe establish how long the person would like to meet before going to the form?

Yep…@Jonathon_Kohn noticed that too and came out with a fix. I plan to edit my template soon!

1 Like

The fix was moving the duration portion of booking to the first step along with date and time, then using the same duration mechanism during that first step to prevent booking into an existing event. That mechanism is a godsend for me. Thanks to @Robert_Petitto and @Jeff_Hager and the whole Glide community!

2 Likes

Understood, thanks Robert!