Sep 12, 2022 09:18 PM
I have a functional automation that creates and updates Google Calendar events based on records in a table being created or edited. The problem is that if someone RSVP’s (yes / no / maybe) to an event, and later the record changes, the automation updates the event, losing the RSVP status for each person in the process.
Does anyone know if there’s any way around this? Otherwise, I don’t think I’ll be able to use Airtable for this part of the project. :frowning_face:
This isn’t normal behavior for Google Calendar. If I manually create an event that people RSVP to and I edit and save the event, attendee RSVP info isn’t changed. Even if I remove every attendee and re-add them (as I thought Airtable might be doing) it still keeps their RSVP info.
I don’t think it’s deleting and creating a new event, because the GCal Event ID isn’t changing. Perhaps it’s deleting every attendee, saving the event, and re-adding each one, every time there’s a change? I don’t think it’s that either, because then I’d get event cancellation emails. :thinking: I’m stumped.
Sep 13, 2022 03:03 AM
The behavior of Google Calendar is that it will lose people’s RSVP status if you change the event’s date or time. (It won’t lose the RSVP status if you just change the event title or description.)
If you are simply updating the event title or description, but you are updating it in such a way where you are re-sending it all the attendees again, my guess is that it is overwriting the old attendees with the new (same) attendees again. So I would try updating it in such a way where you don’t send the attendees to Google with the update.
Sep 13, 2022 03:28 PM
Thanks, Scott! In my situation, the date and time are not changing, however someone new is added to the list of attendees. It works like this:
I ran a little test and confirmed that simply changing the list of attendees in a normal (non Airtable) event does not cause this to happen, even if I delete all attendees and re-add them all. I would have expected Airtable to simply paste in the list of email addresses to the attendee field and call it a day, but something else must be happening.
Any other ideas?
Sep 13, 2022 04:47 PM
Right, Airtable is overwriting the old list of attendees with your new list of attendees. It isn’t just adding the new person to the event, it is replacing the old list with the new list.
It also warns about this behavior in the Airtable automation screen for the attendees field: “Setting this field will replace existing attendees rather than only add new ones.”
So if you’re only using Airtable’s native automations, there is no way to simply add new attendees by using Airtable’s native automations.
If you’re looking for a no-code way of doing this, your best bet would probably be to use the Google Calendar modules of Make.
You can see in the screenshot below that it gives you the option of appending attendees (i.e. adding attendees) instead of replacing attendees. You would toggle this setting to “Yes” to add new attendees.
However, you’re going to end up with a similar problem unless you restructure something — either on the Airtable side or the Make.com side. If you send the same exact email address once again to the same Google Calendar Event, Google will STILL reset the RSVP status of that person — even if you have turned on the “append” function.
Currently, you’re still sending an entire batch of email addresses to Google, so you’re still sending the same email addresses over & over again. So you’ll want to setup your Airtable base to only send the new email addresses. Or, you can setup a complex scenario in Make to compare which email addresses you’ve already sent, and eliminate those from sending to Google again.
So the only way to get the behavior that you want is the following:
So #1 can be solved by using Make.com. But for #2, you’ll have to solve that on either the Airtable side or the Make side of things.
Dec 05, 2022 09:04 PM
Any suggestions on how to only send brand new emails via Airtable or Make? I've been working through testing options within Make, I assumed it was a filter but I can't seem to get it to work. Other options within Airtable would be greatly appreciated