Hi Cameron,
Thank you very much for suggestion! I tried already to add Authorization in the Data Action, but it didn`t work. I tried to find description of the whole mechanism of Cloud Run Service invokation from Genesys Data Action in Genesys documentation, but I didn`t succeed. I need more information for further troubleshooting. What I got from AI as description is following:
Genesys Cloud, upon needing to authenticate with your Cloud Run service, takes the private_key (also found in the service account JSON file) and the private_key_id from the service account key you uploaded.
It uses this private key to cryptographically sign a JSON Web Token (JWT) . This initial JWT contains claims such as the service account's email and the intended audience (which will be your Cloud Run service's URL).
Genesys Cloud then makes an API call to the Google OAuth 2.0 Token Endpoint, which is specified by the "token_uri": "https://oauth2.googleapis.com/token" in your JSON file. It sends the signed JWT (created in the previous step) to this endpoint, using a specific grant type (e.g., urn:ietf:params:oauth:grant-type:jwt-bearer ).
Google's authentication servers at the token_uri receive the signed JWT. They use the public key associated with your service account (verifiable via the X.509 certificate URLs like auth_provider_x509_cert_url and client_x509_cert_url ) to verify the signature of the JWT . If the signature is valid and the claims in the JWT are correct, Google's servers then generate and return the actual ID Token to Genesys Cloud.
Genesys Cloud uses this ID Token to authorize your request to the Cloud Run Service.
If this is a correct description of mechanism, I have to find, where exactly it is broken in my case. Because at the end I don`t receive anything as Authorization in Google.
Or maybe you can send a better description and some other suggestions.
I really need help.
Best regards,
Borislav
------------------------------
Borislav Taskov
------------------------------
Original Message:
Sent: 09-19-2025 13:55
From: Cameron Tomlin
Subject: Google Data Action Integration
Hello Borislav,
Sorry for the delay in response. But to answer your question for your data action to include authorization headers when making requests I believe you need to configure this the request config of your Data action.
You can do this by:
- going to the data action configuration
- In the request template section you can add custom headers
- In this section you can add the authorization header that is required.
- You can use the "Advanced" tab to configure complex header values or use variables.
Hope this helps!
------------------------------
Cameron
Online Community Manager/Moderator
Original Message:
Sent: 09-19-2025 13:15
From: Borislav Taskov
Subject: Google Data Action Integration
It looks like my Data Action don`t send any Authorization header in the request to Cloud Run Service at all. Should I configure something in the "Advanced" configuration of Integration, or somethingadditional in the Data Action itself?
BR,
Borislav
------------------------------
Borislav Taskov
Original Message:
Sent: 09-11-2025 13:36
From: Cameron Tomlin
Subject: Google Data Action Integration
Hello Borislav,
I think I might have an idea about whats going on.
For the IAM permissions do you have a custom role in Google Cloud platform with the following permissions:
- cloudfunctions.functions.call
- cloudfunctions.function.invoke
You also need to assign the service account to each function you want to execute through the Data Actions.
You may need to update the data actions integration as well. Here are the steps:
- Add a new integration in Genesys Cloud for the service account
- use the private ket file details in the integration credentials
- if you're using multiple APIs across different service accounts, create separate integrations for each.
You may also want to double check the custom action is also configured correctly. Heres how:
- Update your Data action config to include the proper authentication details
- ensure your request URL template is properly configured for the function calls
- verify that your functions are still returning a JSON response.
Cheers,
------------------------------
Cameron
Online Community Manager/Moderator
Original Message:
Sent: 09-11-2025 08:21
From: Borislav Taskov
Subject: Google Data Action Integration
Dear colleagues,
In our Organization we use Google Functions for some checks and automations. We invoke them via Data Actions. The full mechanism worked fine till the moment Google migrated to Gen 2 Cloud Run and a new Organizational policy was implemented in our Google environment. In the past we invoked the Functions unauthenticated, but now IAM authentication is mandatory. The old Functions are running, but I cannot invoke a newly created from Genesys.
Does anybody have an advice about this issue?
Best regards,
Borislav
#API/Integrations
------------------------------
Borislav Taskov
------------------------------