Review copy — not linked in navigation. This file merges the digital and voice content back into a single article (the original shape of
ccai.mdx) with all gaps from the source docs filled in, so you can compare it against the split version (ccai.mdx + ccai-voice-transfer.mdx). Delete this file once you’ve decided which structure to keep.- Contact Center app configuration in AI for Service, using tenant, project, and token details from Artemis.
- Artemis project configuration, using tokens and IDs from the Contact Center app, set as the default Agent Transfer route.
Prerequisites
- Access to AI for Service with permission to create and publish Contact Center apps - Admin/Owner permissions.
- Artemis application access with permission to open Agent Chat, Profile, Integrations, Deployments, and API Keys.
- Access to an Artemis project.
- A secure token generator or password manager to create secrets that meet the required complexity rules.
- A test agent or flow that can reach an agent-transfer path, to validate the connection after setup.
- For voice: Artemis production and your CCAI production environment in the same cloud region/cluster, and CCAI App Owner role.
- The integration is enabled on request. To enable it, contact Support.
Step 1: Contact Center app configuration
(Required for both digital and voice channel interactions)- Log in to the AI for Service platform.
- Create a new app and select Contact Center as the app type.
- Complete the onboarding journey for the new app.
- Go to Flows & Channels.
- Select Artemis Integration. (Note: The integration is enabled on request. If you are unable to see the page, contact Support.)
-
Enter the following fields. These fields require values to be fetched from the Artemis project.
- Review all Artemis Integration fields, then click Enable Artemis Integration. If an integration already exists for the app, click Update Artemis Integration instead.
- Confirm the integration status shows Enabled.
- Review and publish the Contact Center app.
Don’t swap the Artemis access token and the Artemis auth token. The access token is a secret you generate yourself and must match the Webhook Secret you enter in Step 2. The auth token is the platform key generated in Artemis. Swapping these two values causes authentication failures.
Step 2: Artemis project configuration
(Required for both digital and voice channel interactions)- Go to Project > Integrations > Kore SmartAssist > Connect.
- Configure the following fields:
Step 3: Configure routing
How routing works
- The conversation remains with the AI agent until a transfer is triggered.
- Artemis resolves the transfer configuration and selects the active connection as per the settings.
- Artemis sends the transfer request and conversation context to CCAI.
- CCAI routes the conversation to the appropriate queue or agent based on its routing configuration.
- If enabled, Artemis retrieves the conversation transcript after the transfer is complete.
If your implementation sets routing values in the escalate block and also customizes the Start Flow, confirm with Support which configuration takes precedence in your environment before relying on it in production.
Session lifecycle settings
Under Project Settings → Agent Transfer → Session Lifecycle, align the Chat, Email, Voice, Messaging, Campaign, and Max Concurrent values with your CCAI policy. These settings control how long a transferred session stays active. A Voice TTL of 0 ends the session when the call ends.Routing options customers can choose
Routing precedence
- Values assigned in the escalate block apply to that specific transfer.
- If a value is not assigned, Artemis uses the configured Agent Transfer default.
- If data is missing or an ID is invalid, routes to the configured general-support fallback in CCAI.
Digital channel routing
- Go to Project Settings → Agent Transfer → Default Routing → Connection and select the integration.
- Review Queue, Priority, and Post-Agent Action.
- Set up a digital channel.
Step 4: Voice channel routing (SIP)
Voice channel routing requires some additional configuration. Follow the steps listed below.Artemis production and your CCAI production environment must be in the same cloud region/cluster to keep the transfer on the internal Kore voice gateway. If they’re in different clusters, the call leaves the Kore network and requires a purchased PSTN number and provider routing.
1. Create the CCAI SIP trunk and routing number
Go to Contact Center AI → Flows & Channels → Voice Gateway → SIP Numbers → Configure SIP Trunk. This creates the internal destination that Artemis will REFER the call to. Keep exactly one leading
sip: in the resulting SIP number (sip:<routing-id>@<host>:5060). A double sip: prefix breaks the destination.2. Route the SIP number to a human destination
- Click Next. Reserve or select the SIP routing number and enable Inbound Calls. Select the intended CCAI app.
- Create a Call Start Flow. Supply a non-empty description and select the SIP number when prompted.
- Connect the Start node to an Agent Transfer node, then choose the intended queue, skill, or named employee.
- For every receiving employee, enable Contact Center access, Agent Console as the default experience, Voice, and the required queue/skill membership.
- Publish the Start Flow.
Attaching a Start Flow can return an already-published CCAI app to In Development. Republish the app after this step.
3. Publish the CCAI app
Publish the CCAI app and all affected voice/Start flows.4. Configure Artemis agent transfer for SIP REFER
In Artemis, go to Project Settings → Agent Transfer and enter the following configurations under Voice Gateway, in addition to the Default Routing connection configured above:5. Configure the voice-transfer mechanism in the ABL
Use theEscalate block with routing.voice.call_transfer_type set to sip (and transfer_method set to refer, invite, or bye) to drive the live SIP call handoff. This is the recommended pattern — it works unchanged for chat and voice, with no separate tool definition needed:
call_transfer tool directly, with this contract:
6. Deploy and bind the voice channel in Artemis
Saving an ABL change updates only the draft. It doesn’t change the behavior of a live call until you create and bind a new deployment.
- Open Artemis → Deployments -> Environments. Create a deployment, choose Customize per agent, and select Auto-create from draft for the voice agent. Confirm the correct Entry Agent, then deploy.
- Go to Channels and choose a voice channel.
- Select the deployment in the channel configuration.
- Configure other channel properties and Save.
- Confirm the Artemis Realtime Voice channel has a working inbound DID if dialing from a phone. This public inbound DID is different from the CCAI SIP routing ID.
Step 5: Test and Verify
- Call the Artemis agent and say a test phrase such as “Transfer me to a human agent.” For digital channels, enter a message requesting a transfer to a live agent.
- Verify the expected Artemis behavior:
- Voice: The
call_transfertool is invoked withcallTransferType=sip. The configured transition message (if any) is played, and the call is transferred to CCAI. - Digital: An escalation request is initiated and the conversation is transferred to CCAI.
- Voice: The
- Verify the expected CCAI behavior:
- Voice: A new voice interaction is routed to the configured queue or agent. Accept the interaction.
- Digital: A new chat conversation is routed to the configured queue or agent. Accept the interaction.
- Verify the transfer details:
- Artemis Sessions/Trace: Confirm that a
call_transfertool invocation is recorded for voice transfers, or an escalation event for digital transfers. - Artemis Transfer Sessions: Confirm the provider is SmartAssist, the channel is correct (voice or chat), and the transfer completes successfully.
- CCAI Agent Console: Confirm the interaction is offered to the expected queue or agent, accepted successfully, and transitions to the Connected state.
- Artemis Sessions/Trace: Confirm that a
- For voice, confirm two-way audio: caller and human can interrupt/respond naturally, and the AI no longer answers after acceptance.
Example use case: dynamic customer-profile routing
You can send a customer to a different CCAI queue based on information Artemis already has about them. In this example, Premium customers who need help with Payments go to a specialist priority queue, while other customers go to the most appropriate standard queue. Use the same pattern for language, product, region, account status, or any other reliable profile value.1. Choose the profile information
Use information that’s available before the agent transfer and that has a clear source of truth. Keep the allowed values consistent across the customer system, Artemis, and CCAI. For example: customer tier (Premium or Standard), product or intent (Payments, Cards, General), language, or customer status (authenticated, unauthenticated, high-risk).2. Define the decision rules
Evaluate rules from top to bottom. Put the most specific rule first, followed by broader rules, and always finish with a safe default.- Premium + Payments → Payments Priority queue, Payments skill, high priority.
- Standard + Payments → Payments Support queue, Payments skill, normal priority.
- Premium + any other product → Priority Support queue, Premium skill (if supported).
- Missing or unknown profile data → General Support queue. Don’t block the customer because a profile field is unavailable.
3. Add queues and skills in the Artemis escalate block
Create the required queues and skills in CCAI first, then copy their IDs into the Artemis routing logic. Use the queue ID as the destination and the skill ID as the agent qualification, and keep a general-support queue as the fallback. Set these values inside theescalate block in the Artemis agent that invokes the live-agent transfer.
Illustrative DSL pattern:
queueId: the CCAI queue that should receive the interaction.skillId: the CCAI skill required for the interaction, such as Payments, Spanish, or Premium Support.agentId: an optional named-agent destination. Use it only when the business case requires direct routing.priority: the agreed numeric priority.postAgentAction: what Artemis does after the live-agent leg, such asRETURN_TO_BOTor End session.
4. Test the escalation
- Premium customer with a Payments request → Payments Priority queue plus Payments skill.
- Standard customer with a Payments request → Payments Support queue plus Payments skill.
- Premium customer with another product → Priority Support queue plus Premium skill.
- Missing or invalid profile data → General Support fallback queue.
- Selected queue has no agents or is outside business hours → CCAI in-queue or no-agent flow.
Customer feedback survey (CSAT)
After an Artemis conversation ends, CCAI can invite the customer to complete a feedback survey about their experience with the live agent. The survey is managed separately from the standard CCAI feedback survey, so you can define different behavior for Artemis conversations. Survey responses can use supported formats such as CSAT, NPS, or thumbs up/down, depending on the survey configured for your organization.Chat and email surveys follow the Artemis conversation flow. Voice surveys are managed through the separate CCAI voice flow.
Before you configure the survey
- Confirm that the Artemis survey feature is available for your account.
- Create or select an active feedback survey.
- Select the Artemis agent that presents the survey.
- Configure the survey message and thank-you message.
- Decide whether the survey applies to chat, email, or both.
- Agree on when the survey should be presented, and select the survey type: CSAT, NPS, or thumbs up/down.
- Decide whether the survey is sent after every eligible conversation or at a selected frequency.
Configure the survey
Set the following in the survey configuration: Survey enabled, Artemis agent, Chat response, Email response, Survey frequency, No-agent behavior, Out-of-hours behavior, Agent-closed behavior, Survey type, Response channels, and Eligibility. Choose a survey frequency:How the survey works
- The live-agent conversation ends.
- CCAI determines whether the configured survey applies and evaluates whether the conversation qualifies.
- If eligible, Artemis presents the survey.
- The customer submits a response.
- CCAI stores the response for reporting.
Points to note
- Attachments: When a user shares a file during a conversation in Artemis, the file and its associated metadata are transferred to the CCAI agent. The agent can use the attachment and its metadata as part of its reasoning and response generation. See supported attachment types.
- Conversation transcripts and recordings: Recordings and transcripts from voice calls in CCAI are available in Artemis after the session ends under Sessions logs. It may take up to 10 minutes to present recordings and transcripts in Artemis due to post-session processing.
- Transfer lifecycle events: When a session is escalated to a human agent in the contact center, the platform captures key events in the transfer lifecycle, such as transfer initiated, transfer completed, human agent connected, and session ended, as platform events. These events include transfer metadata that can be consumed by downstream integrations, workflows, and analytics. For voice interactions, Artemis retrieves and displays these events after the call is completed.
Token and secret rules
Validation checklist
Troubleshoot integration issues
Related articles: