Oct 06, 2024 05:19 AM
Hi,
Our Airtable approach is to provide users with interfaces, nobody works in the base directly. For a Google Calendar event creation automation we now need to add users. The automation is initiated from a button, and its purpose is to create a new event for the user that clicks the button.
However, I couldn't figure out a way to make new calendar connections, nor how to make the automation fully follow the "current user" approach.
The questions are:
(1) I could only find a way to connect new Google Calendars myself (as the admin). Since I don't have, and don't want to have, the users' Google credentials, how can I facilitate new connections? I don't want to extend user access to the base just for this. Some way of sending connection invitations by mail?
(2) given I find a solution for the above, I would wish not to hard code a separate conditional logic for each user, so that the Google Calendar entry could be made for the right user. Thus would require to manually add and delete users when there are changes. Would there be another way to, perhaps to use the "current user" directly to aim the Google Calendar entry to the right user?
Rgds,
Björn
Oct 06, 2024 06:28 PM
Hmm, I think the closest you'd get would be to create the event and invite them to it
Buttons that trigger automations allow you use the email of the person who clicked the button, so you wouldn't need to hardcode stuff too
Oct 06, 2024 09:51 PM
Thanks @TheTimeSavingCo for replying.
1) that I didn't understand at all :). I'm trying to channel events to different hosts by creating new Calendar events for them, therefore their calendars need to be connected first. See pic below, where two calendars I do have access to are connected. How to get calendars I don't have personal access to, those of our employees, connected?
2) Yes, but I need to have the calendar to which direct the new entry selected dynamically. Look at the pic below, at least here it's hard coded, I need to select which calendar to push the info to. Which means I have to have a conditional logic step for each calendar (= user). Which would be a PITA. So if there would be another way of doing this, it would be awesome.
Cheers,
Björn
Oct 06, 2024 09:59 PM
As in, the closest you could get is you'd create the Google Calendar event with an admin account and then invite the specific person to it
Oct 08, 2024 05:09 AM
For facilitating new Google Calendar connections, you can enable users to connect their Google Calendar accounts without requiring you to have their credentials or giving them direct access to the base. One effective approach is to set up an OAuth 2.0 flow that allows users to authenticate with their Google accounts. In this flow, when a user clicks the button to create a calendar event, they will be redirected to the Google OAuth consent screen. After they authenticate, they will be redirected back to your application with an authorization code. You can then use this authorization code to obtain an access token, which you can store in Airtable linked to the user. This access token will allow you to create calendar events on behalf of that user.