Question

How do I create a shared Google Calendar Event from Multiple-Answer Google Form Responses?

  • 6 December 2023
  • 5 replies
  • 241 views

Hi there! 

I have been attempting this for quite awhile… I want to create a new Google calendar event based on the users responses on a Google form. This should be a shared event and not an individual event (each user has their own google calendar meeting at the same time, it should be 1 meeting) in the users calendar. Currently, the Google form is set as a multiple answer (1 or all the options). Then I have the Google Calendar Zap to “Create Detailed Event”, and based on some past answers I believe I need to include the “Add Attendees” zap next. However, I cannot figure out what should go in the “events” value of the “Add Attendees” zap. I went to “custom” but all the options I have fail when I test. Again, I want the responses to be on a shared Google calendar invite for a meeting and they can attend all or just one of the sessions, hence multiple answer responses on the Google form. Below is the current set of actions I have and thank you for help in advance! 


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

5 replies

Userlevel 7
Badge +11

Hi @jaryns, welcome to the Community! 👋

The Event field is expecting to receive the ID for the event. So in the Add Attendee/s to Event action in the Event field you’d select the ID for the event from the Create Detailed Event action where it’s created.

Here’s an example of that:
a7235ca1f060058871310e4691be5966.png

That said, am I correct in thinking that they can only book onto either a single session or all sessions?

And would these sessions/events only be created depending on whether someone fills out the form and select certain options? Or do these events already exist in a your Google Calendar?

Once we have a bit more context on this we’ll be better able to advise here. Looking forward to hearing from you on this!

Hi Sam,

 

Thank you for your help! Yes, I saw your similar response on another forum page but I just can’t get the ID portion to work. In the Google form the user can select 1-4 dates depending on their preference for attending the meeting/s. Currently, these events do not exist in my calendar. The event would be created if someone is able to attend and then after that other attendees who are able to go at the same time would be added to the created event. Please let me know if I can provide more information, thank you!  

Userlevel 7
Badge +11

Thanks for getting back to me here, @jaryns.

Hmm, in that case you may need to look at using a Looping by Zapier action in your Zap. It would allow you to then set up separate events for each session they chose. Assuming you get the list of chosen sessions output by the Google Forms trigger as line items you could potentially set up a Zap with the following trigger and actions:

  • Trigger: New Form Response (Google Forms) - triggers when someone completes the form.
  • Action: Text (Formatter) - formatting the necessary text for the email.
  • Action: Send Email (Gmail) - sends out an email to confirm the form submission/booking.
  • Action: Create Loop From Line Items (Looping by Zapier) - this will loop through each event that’s output by the form and allow the Zap to search/create the event and add people to it on an individual basis. See Loop your Zap actions guide for more details. Doesn’t have to be line items though, you can also create loops from text (list of dates perhaps?).
    • Action: Find Event (Google Calendar) - searches for the event. Has the ability to create an event if it doesn’t find an existing event.
    • Action: Add Attendee/s to Event (Google Calendar) - adds the person to the event.

 

That should ensure that the Zap creates the event and then if subsequent people want to book on the same session the Zap can search for the event and them add them to it.

One thing to note on the above is that I don’t know what details are being output by the Google Forms trigger when someone selects a session. So you may need to add some Formatter actions in before the loop starts in order to extract the necessary event details. If you get stuck on that can you share a screenshot showing what the Google Forms trigger outputs for the selected questions and we’ll be happy to suggest how to handle that. 
 
Hope the above helps to get you pointed in the right direction. Keen to help get this sorted so will be keeping an eye out for your reply! 🙂

Hi Sam,

 

Unfortunately it is still not working. I have attached an updated path that I worked on but to no avail. Additionally, please find the formatting on the Google form I am to send out to colleagues. The confirmation email portion is successful. However, when an event is created on a date the attendee is not added and instead it is still creating a new event. Additionally, if the user selects multiple dates on the Google form the calendar puts it on a random date and time. For example, if the user selects to attend on December 19th and 20th it is putting them on the 6th at a random time. I feel like all my settings are okay so I am not sure how to proceed. Essentially, I need the Zap to create a new event if it is not created on the calendar yet. Then add attendees if it is already created. However, there is the option that sometimes the user selects a date that is created and can simultaneously select a date this is not yet created. Thank you! 

Userlevel 7
Badge +11

Happy to take a look, @jaryns! 🙂

Hmm, it looks like this setup would only work if they wanted to attend a single event as the Find Event action would only look for a single event not multiple events. If multiple events are selected then you’d need to have multiple Find Event actions and multiple Create Detailed Event actions in order for each event to be created.

But the best way to handle this I think would be to use a loop as I mentioned earlier. It would allow you to search for multiple events, create them if they didn’t already exist and add the person to each. If the email needs contain information that’s taken from the Google Calendar actions for each selected event then perhaps you could save the information into a digest and release it on the last loop iteration. More on how to do that sort of approach here: 


I can see from the screenshot that you’re using checkboxes on the Google Form so am I correct in assuming that if multiple events are selected Google Forms sends this over to the Zap in a single field like this “Wednesday, December 13th at 1pm Central, Tuesday, December 19th at 10am Central, Wednesday, December 20th at 4pm Central” for example?

If so, the comma after the day of the week may pose a problem for the loop as it would likely be read it as a separate date value to be iterated on. So you may need to try using a Code by Zapier action to split the list of dates up so that they can be used to generate the necessary loop iterations. It’s a more advanced tool but we have an AI feature that can help to create the necessary code for you. See our Generate a Code step using AI (Beta) for more details on how to use it.

Hope that helps. Please keep us updated on how you get on with this!