- Genesys Cloud setup: install and name the Bot Connector integration, and note its Stream ID.
- Artemis channel configuration using the Stream ID and a shared secret you generate, then copy the generated Bot Connector URL.
- Bot Connector configuration in Genesys: set that URL and the same secret on the integration, activate it, and call it from an Architect flow.
- The response travels in the same request: Genesys waits for your agent. Provider timeout and agent execution time have to be compatible, and this channel stays non-streaming by design.
- Client Secret isn’t a Genesys OAuth secret: for Bot Connector, it’s a pre-shared bearer token you invent and configure identically on both sides. Substituting an OAuth integration secret fails unless Genesys sends that same value on the webhook request.
- Bot Connector needs a subscription change: Genesys requires you to contact Genesys Cloud Sales before you can install the integration.
- Architect intents must already exist: Artemis returns intent names that Genesys matches to branches in your flow. It doesn’t create or validate them, so a name that doesn’t exist in Architect produces a branch that never fires.
Prerequisites
- A Genesys Cloud organization with the Bot Connector integration available on your subscription, in the region that owns the Architect flow.
- Admin access in Genesys Cloud, with permission to install integrations and edit Architect flows.
- An Architect message flow where the conversation should reach the agent, or permission to create one.
- Artemis project access with permission to open Deployments -> Channels, and a deployed agent in the environment you intend to bind.
How Artemis handles Bot Connector requests
Genesys posts to a URL ending in the Stream ID, so Artemis resolves the connection from that path segment and the conversation from the payload.
Because the exchange is synchronous, the HTTP response carries everything Genesys needs: the reply messages, the bot state, the intent, and whether the task ended. Nothing arrives later.
Genesys Cloud setup
Do this work in Genesys Cloud before you open Artemis. Genesys documents the same screens in Configure the Genesys Bot Connector integration.1
Sign in to the right organization and region
Sign in to the Genesys Cloud organization and regional domain that own the Architect flow you intend to change.Genesys organizations are region-specific, so a development organization’s integration pointed at production Artemis produces a setup that looks correct but serves the wrong traffic. Confirm the organization before you install anything.
2
Install the Bot Connector integration
- Select Admin, then under Integrations, select Integrations. On newer navigation, select Menu -> IT and Integrations -> Integrations.
- Search for the Genesys Bot Connector tile and click Install.
- On the Details tab, give the integration a name that identifies the agent and the environment, and add notes if your team uses them.
3
Copy the Stream ID
Copy the Stream ID Genesys shows for this integration, exactly as it appears.This becomes the routing identifier in Artemis and the last segment of the webhook URL. Copy it without surrounding whitespace, because a trailing space produces a 404 that looks like a missing connection.Don’t substitute the Genesys organization ID, the integration ID, an OAuth client ID, a conversation ID, or the Architect flow ID. None of them route.
4
Generate a Client Secret
Create a high-entropy random string. You invent this value rather than Genesys issuing it, and you’ll enter the identical string in two places: the Artemis connection, and the Bot Connector credentials in Genesys.Use a different secret per environment, and store it in your secret manager. This token is the only thing standing between the public URL and your agent.
Artemis channel configuration
Create the connection before you configure the integration in Genesys. Artemis resolves the Stream ID and decrypts the secret before it authenticates a request, so an inactive or missing connection returns 404 even when the URL is right.- Open Artemis and select the project.
- Go to Deployments -> Channels -> Genesys -> + New.
-
Configure the following fields:
- Click Create.
-
Open the connection and copy the Webhook URL from the Overview tab.
The URL ends with the URL-encoded Stream ID. Copy the whole thing, because the generic Genesys route can’t identify which connection a request belongs to.
Validation checklist
Bot Connector configuration in Genesys
Return to the integration you installed and finish it with the URL and secret from Artemis, then call it from a flow.1
Set the Bot Connector URL
Open the integration’s Configuration tab and set the Bot Connector URL to the Webhook URL from the Artemis connection.Preserve the encoded Stream ID at the end. Genesys uses this URL to relay each utterance, so a truncated path reaches Artemis and resolves to nothing.
2
Add the shared secret as credentials
Open the integration’s Credentials tab and configure the same Client Secret you entered in Artemis as the bearer token.Artemis prefers the token on an
Authorization: Bearer header. It also accepts x-channel-secret, x-ingress-secret, or x-webhook-secret. It never accepts a token in the query string, so don’t append one to the URL.3
Activate the integration
Set the integration status to active.An inactive integration doesn’t appear in Architect at all, so this step has to come before you try to add the action.
4
Add the Call Bot Connector action to a flow
- Open the Architect message flow that should reach the agent.
- From the toolbox, drag a Call Bot Connector action into the flow.
- Set the action’s bot integration to the integration you just configured, and set the name and version fields the action asks for.
- Connect the action’s failure path to real handling rather than leaving it unconnected.
5
Validate before you publish
Run Architect’s validation and test the flow on a non-production interaction.Publish only after you’ve confirmed the URL, the secret, the response timing, and the failure branches. A published flow with an unreachable bot fails in front of customers.
Map Architect outcomes
Artemis returns an intent name to Genesys at the end of each turn, and Architect branches on it. Configure the mapping on the connection’s Configuration tab, under Architect outcome mapping. Turn on Enable terminal intent mapping, then set the intent name Artemis returns for each outcome.
Each outcome takes a Value source of either a literal intent name you type, or a project variable that supplies it. Use a project variable when the same agent serves several Genesys flows with different intent vocabularies, and a literal name otherwise.
These names have to match intents and branches that already exist in your Architect flow. Artemis neither creates nor validates them, so a typo produces a branch Architect never takes rather than an error you can see. Agree the names with whoever owns the flow before you enter them here.
Verify the connection
Test each failure mode as well as the happy path, because Architect’s branching depends on Artemis returning the right status for each one.- Send a text turn with a unique message and a stable Genesys conversation ID.
Confirm an HTTP 200 and one text reply in the response. - Send a second turn reusing the same conversation ID, and confirm it resumes the same session.
A different conversation ID should open a separate session. - Return an authored quick reply, send its encoded payload back as the button response, and confirm the session resumes with the action value you authored.
- Send a request with the wrong secret and confirm it returns 401.
- Send a request to an unknown or inactive Stream ID and confirm it returns 404.
- Send malformed input and confirm it returns 400.
- Confirm the Architect flow handles a 503 busy response and an execution failure without looping.
Request and response contract
Genesys carries the whole turn in one exchange, so both halves have required fields.
Keep the conversation ID stable across every turn in one Genesys interaction. Replacing it with the Stream ID or an ephemeral request ID resets the conversation context, which looks like the agent forgetting rather than like a configuration error.
Optional session metadata crosses a trust boundary, so Artemis validates it before the agent runs. Send it only in the JSON object shape Artemis expects.
Secure the connection
The Stream ID appears in a public URL and isn’t a secret. HTTPS and the shared token protect the endpoint, so never put the token in the URL or in logs. Use a unique, high-entropy Client Secret for each environment, stored only in the Genesys integration’s secure credential configuration and in encrypted Artemis credentials. Rotating it means changing both sides together, because Artemis rejects a request the moment the values diverge. Prefer theAuthorization: Bearer header. If your ingress adds or rewrites headers, make sure it preserves the one Genesys sends and strips any untrusted duplicate before the request reaches Artemis. Two competing authorization headers produce a 401 that looks like a wrong secret.
Use separate Genesys integrations, Stream IDs, secrets, Architect flows or versions, and connections for development and production.
Manage the channel connection
Opening a connection shows four tabs. The delete control sits beside the connection name.- Overview
- Credentials
- Configuration
- Deployment
Connection Summary reports the connection’s state and identity.
Setup Instructions shows the Webhook URL to configure in Genesys and the Stream ID it ends with, each with a copy control. Compare the Stream ID here with the integration’s whenever requests return 404.
Troubleshoot connection issues
Genesys reference
Use these Genesys pages when you need detail beyond what this article covers.
Related articles: