Services Plugins FAQs

"add attendee" action on the google calendar (service acc.) plugin

hello! i’m experimenting with your google calendar plugin for service accounts and am running into an issue when trying to use the “add attendees” action. before getting into what isn’t working, here’s what i’ve used the plugin for successfully so far:

  • get information about existing calendars and events in the gsuite for which the service account has domain-wide delegation;
  • create a new event on an existing calendar;
  • create a new calendar.

when i update the workflow to the “add attendee” action, i get a 403 error with the message “service accounts cannot invite attendees with domain-wide delegation of authority.” this error is coming directly from the google calendar api (so it’s on them, not you, that the error isn’t accurate). i can confirm that my service account has been granted domain-wide delegation of authority, and can also confirm that this error is thrown by google calendar api when trying to add an attendee with a service account even outside of your plugin.

after doing some searching, this seems to be a known limitation of service accounts on google’s side – service accounts can only add attendees when they first impersonate a user on the domain [link to related google issue tracker]. the plugin as it’s currently set up doesn’t ask for an existing user to impersonate, which means the “add attendee” action won’t be able to fire successfully.

Hi @brook,

Thanks for reaching out and using our products! Indeed, whether or not your account is granted domain-wide delegation of authority, the problem is that Google has updated its policy in regards to service accounts, which makes it possible to run the ‘add attendee’ feature only if you have a paid G Suite account. It would not be that easy to make it work, because it involves some pain in the neck, but it can be doable.

More information can be found here https://developers.google.com/calendar/auth#perform-g-suite-domain-wide-delegation-of-authority.

As for our simple Google Calendar + Offline plugin (non service account), the ‘add attendee’ feature is working properly.

Hope it is helpful.

Best,
Alex

Hi,

I am trying to use the feature “add attendee” action with our paid G Suite account but no luck. As @brook mentioned, my understanding is that the plugin must impersonate a user (not a service account) within the domain to make it work.

https://issuetracker.google.com/issues/141704931#comment59

  1. The service account needs to have domain-wide delegation enabled
  2. The domain must allow the service account to use it’s APIs
  3. The service account must impersonate a user within the domain

Obviously, 1. and 2. are well explained in your documentation, but I believe step 3 is not properly implemented.

Is the feature ever working? I tried to use the ISS and private key provided in your demo, but I could not add an attendee, although I could successfully create the event with it.

It would be great if you can at least providing a working demo for the “add attendee” action.

Hi @michitomo,

Thanks for reaching out. In order to add attendees, it is required to add each user under your own G Suite admin panel, and each user must be purchased a license.

You can find more information here.

Yes, all the features are working properly, but it is required to comply with Google’s G Suite policy and model, in order to make it work. :pray:

We’ll consider adding this feature in the future improvements if feasible.

Hope it helps.

Best,
Alex

1 Like