Skip to main content
Back to messaging or digital channels Connect a Zendesk Sunshine Conversations app to your agent so customers reach it through any channel that app already serves. You map the app’s App ID and API key into Artemis, register a connection-specific webhook, then verify messages, replies, and postbacks. The setup requires:
  1. Prepare the Sunshine Conversations app and its API key.
  2. Artemis channel configuration: create the connection, then copy its Webhook URL.
  3. Register the webhook in the same app.
  4. Verify the connection with a complete customer conversation.
After setup, a customer message on any channel connected to the app opens a session in Artemis, and the reply posts back into the same conversation as a business author. Important considerations
  • App ID is both the routing key and the provider destination: Artemis resolves inbound events from the App ID at the end of the webhook URL, and uses the payload’s matching app.id for replies. Both App ID fields must identify the same Sunshine Conversations app.
  • Never expose the Key Secret: The API Key ID and Key Secret authorize outbound messages for every conversation in the app. Store them only in Artemis, and rotate both together.
  • Webhook Secret isn’t the API Key Secret: It’s optional, and only works when a sender or trusted middleware generates the x-api-key HMAC header Artemis expects.
  • Artemis doesn’t create the customer entry point: The app still needs a connected Sunshine Conversations integration or client through which a customer starts a conversation.

Prerequisites

Confirm these before you start.
  • A Sunshine Conversations app with at least one customer-facing integration, such as the Web Widget or a social channel.
  • Administrator access in Zendesk. In Admin Center, the Conversations API page needs Zendesk Suite Professional or above with Agent Workspace.
  • Artemis project access with permission to open Deployments -> Channels, and a deployed agent in the environment you intend to bind.

How Artemis routes Zendesk events

Artemis puts the App ID at the end of the webhook path and resolves the connection from it. Artemis keys each session to the app and the conversation, and posts replies to /v2/apps/{appId}/conversations/{conversationId}/messages.

Prepare the Sunshine Conversations app

Do this in Zendesk before you open Artemis. Select Open Sunshine Conversations or Open API documentation in the setup guide to jump straight there.
1

Create or select the target app

Sign in to the Sunshine Conversations dashboard, or in Admin Center go to Apps and integrations -> APIs -> Conversations API. Choose the app that owns the customer-facing integration. Keep development and production apps separate.
2

Copy the immutable App ID

Copy the app-level identifier from the app settings. Don’t use a Zendesk subdomain, integration ID, conversation ID, user ID, webhook ID, or API key ID.
3

Create a server-side API key

Open the app’s API keys settings and create a key for this connection. Copy both the Key ID and the Key Secret while the secret is visible, because Zendesk shows it once.
4

Confirm a customer integration exists

The app needs a supported Sunshine Conversations integration or client, such as the Web Widget, through which a customer can start a conversation. The Artemis webhook doesn’t create one.

Artemis channel configuration

Create the connection before Zendesk sends webhooks. Artemis resolves webhooks only for an active connection.
  1. Open Artemis and select the project.
  2. Go to Deployments -> Channels -> Zendesk -> + New. The New Zendesk Connection dialog opens, with the setup guide on the left and the fields on the right.
  3. Configure the fields:
    Artemis asks for the App ID twice, once as the routing identifier and once as an encrypted credential. Paste the same value into both.
  4. Select Create.
  5. Copy the Webhook URL from the connection’s summary panel. It ends with the encoded App ID.

Register the webhook

Register the webhook in the same Sunshine Conversations app as the credentials. In Admin Center, go to Apps and integrations -> Integrations -> Conversations integrations and select Create integration.
  1. Confirm the Artemis connection exists and is Active.
  2. Paste the full App-ID-specific URL. Use the public HTTPS Runtime origin, and keep the final encoded App ID segment.
  3. Subscribe to conversation:message for customer text, and conversation:postback for reply-button actions. Artemis ignores unsupported event types.
  4. Save the webhook and keep it enabled. Confirm deliveries reach Artemis with a 2xx response, and keep event IDs stable for retry deduplication.
  5. If you set Webhook Secret, make sure every request carries the matching x-api-key HMAC of the untouched raw body. With the field blank, Artemis accepts inbound events without a signature.
Don’t paste the API Key Secret into Webhook Secret. Configure a separate shared value only when the sender or middleware generates the x-api-key HMAC exactly as Artemis expects.

Validation checklist

Work down this list once per connection.

Verify the connection

Artemis doesn’t synthesize Zendesk events, so a real conversation is the only end-to-end proof.
  1. From the app’s connected customer client, send a unique message. Confirm one conversation:message delivery, one session keyed by app and conversation, and one agent turn.
  2. Confirm Artemis posts the reply to /v2/apps/{appId}/conversations/{conversationId}/messages as a business author, and that it appears in the same conversation.
  3. Send an authored response with a button, select it in the customer client, and confirm conversation:postback resumes the same conversation with the expected action value.
  4. Confirm the agent’s reply doesn’t create a second turn. Artemis ignores business-authored conversation:message events by design.

Message behavior and limits

Sunshine Conversations normalizes many channels into one API.

Security and lifecycle boundaries

The API key is the credential that matters. The inbound side has protection only if you add it.
  • API key: The Key ID and Key Secret authorize the Sunshine Conversations REST API. Use a dedicated key, encrypt it at rest, redact it from diagnostics, and revoke unused keys.
  • Webhook verification: Optional in this connection. Production deployments should use the matching x-api-key HMAC path, or enforce an equivalent trusted ingress control.
  • App ID: It appears in the public URL and isn’t a secret. Authorization still depends on webhook verification and credential protection.
  • Environments: Use distinct Sunshine Conversations apps or API keys, webhooks, secrets, and connections for development and production.

Manage the channel connection

Open a connection from Deployments -> Channels -> Zendesk to manage it. The page has a header, three tabs, and a summary panel on the right. Header. Shows the connection name, its status, and when it last changed. The … overflow menu holds the connection-level actions. Summary panel. Stays visible on every tab.
Artemis encrypts credentials after you save them. Leave a field blank to keep its current value, or enter a new value to replace it.Select Save Credentials to apply your changes.

Troubleshoot connection issues

Most failures trace to App ID mismatches, the API key, or the optional HMAC.

Zendesk reference

Use these pages when you need detail beyond what this article covers.
Related articles: