Skip to main content
Connect the Google Cloud project that holds your Dialogflow CX agents, then test and edit them in Bluejay. The Google Agents tab connected with keyless access The Google Agents tab connected with keyless access

Connect

One credential on the Google Agents tab covers every Dialogflow CX and CES agent in the project.
1

Save a Google credential

In Bluejay, open Settings → Integrations and choose the Google Agents tab. Use keyless access unless you only want a quick trial. No key exists, so no key can leak. If you save more than one credential, Bluejay uses the access token first, then keyless, then the key.
Run the script in Keyless setup and paste the four values it prints.
2

Sync the agents

Click Sync Agents from Google. Bluejay creates one agent for each Dialogflow CX agent and each CES deployment. Sync again after you add agents in Google.
To connect one agent by hand instead, give it the Dialogflow CX connection type and set Dialogflow CX Agent Path to projects/<project>/locations/<location>/agents/<agentId>.

Add an agent the sync misses

An access token that can open an agent but not list its location leaves that agent out of the sync. Open Can’t find an agent? Add it by Dialogflow CX agent ID and enter any of these, separated by commas:
  • The agent ID, a UUID such as 6a1b2c3d-4e5f-4a7b-8c9d-0e1f2a3b4c5d.
  • The resource path, projects/<project>/locations/<location>/agents/<agentId>.
  • The agent’s Dialogflow CX console URL.
You can add only agents in the project of your saved credential. If Bluejay cannot find or read an agent there, the sync results list it as failed.

Permissions

The keyless setup script grants the read and run roles. To push, version, or promote from Bluejay, also grant the write permissions.

Keyless setup

The script creates a service account with no keys in your project, and only your Bluejay tenant can use it. To run it, you need the Owner role on the project, or Workload Identity Pool Admin, Service Account Admin, and Project IAM Admin.
1

Write the script in Cloud Shell

In Cloud Shell, paste this block. It only writes bluejay-wif.sh, so you can read the file before you run it.
2

Run the script

Copy Your Bluejay tenant id from the Keyless tab, and run the script with it and your project ID. Add --ces if you also use CES agents.
The script waits until Google applies the roles, usually 1 to 3 minutes, then prints four values. If the tenant ID has a typo, every token exchange fails with Could not obtain a federated token.
3

Paste the values

Paste the four values into the Keyless fields and click Save & test connection. None of them is secret. The test checks the token exchange, the impersonation, and the Dialogflow CX read roles, but not CES.
To push, version, or promote from Bluejay, also grant the write permissions. To revoke Bluejay’s access, remove the impersonation binding. Tokens that Bluejay already has expire within one hour.
To delete all of it, delete the service account and the pool with gcloud iam workload-identity-pools delete bluejay --location=global.
To manage keyless access in Terraform, apply these files in your own repository. They create the same resources as the script.
Paste the three outputs and your project ID into Bluejay. Terraform does not wait for Google to apply the roles, so Test connection can fail for a few minutes. The storage and bigquery options grant read access to the whole project.

Test

The connection type on the agent decides whether you test by voice or by chat. In both, Bluejay replies {"status": "ok"} to each client-side tool call.
Choose the Dialogflow CX voice tile. Voice tests need no phone number and work for inbound agents only.Use Generate From Workflow so that each path in the agent gets a test, not only the main path. It makes Digital Humans from the flows, event handlers, and playbooks, including paths across handoffs.Generate From Workflow listing each path through the agent with a Digital Human countGenerate From Workflow listing each path through the agent with a Digital Human count

Edit, version, and promote

Versions and deployments that you make in Bluejay are real Dialogflow CX versions and deployments.
1

Pull the live agent

On the agent’s Workflow tab, click Pull to replace the local copy with the live agent.The DFCX workflow canvas in BluejayThe DFCX workflow canvas in Bluejay
2

Edit and push

Edit flows, pages, routes, event handlers, and playbooks, then click Push to DFCX. The push writes your edits to the agent draft. If the agent changed in Google after your last sync, Bluejay shows the conflicts first.Turn on Version on push to save a new Dialogflow CX version of each flow and playbook that the push changed. Dialogflow CX limits the number of versions for each flow.
3

Promote

Promote deploys the flow versions you select to an environment. Only admins can promote.

Troubleshooting

Last modified on October 22, 2026