Integration

Sunshine Conversations integration

Sunshine Conversations is the Zendesk messaging platform behind Zendesk Messaging: one conversation API across web and mobile SDKs, WhatsApp, Messenger, Instagram, SMS and other channels. Create, list, read, update and delete conversations and their participants; send messages (text, images, files, carousels, forms, WhatsApp templates) and typing or read activity to end users; read and delete message history; hand a conversation between bots and agents with the switchboard (pass, offer, accept, release control); create, read, update and delete messaging users, their channel clients and devices, erase their personal information or sync them with Zendesk; list and delete channel integrations and manage custom-integration webhooks. Conversations, messages and users are end users' personal data. Not exposed: app and account provisioning, API key creation (it returns secrets), channel integration creation and editing (channel credentials), OAuth routes and Apple message-ref downloads. Authentication is a Conversations API key from Zendesk Admin Center (Apps and integrations, Conversations API): its key ID and secret are sent as Basic auth; the connection also takes the Zendesk subdomain and the app ID shown with the key.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Sunshine Conversations.Built from the 48 Sunshine Conversations tools below, on the connection you add once.

What you can do with Sunshine Conversations

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Conversation, 5 operations

  • create_conversationCreate conversationPOSTCreates a conversation: personal (exactly one participant) or sdkGroup (up to 10 participants), with optional display name, description, icon, metadata and the switchboard integration to put in control.
  • delete_conversationDelete conversationDELETEDeletes a conversation with all its messages and attachments. A user's default conversation cannot be deleted, only emptied with delete_all_messages.
  • get_conversationGet conversationGETReturns one conversation by id: type, display name, description, metadata, default flag, last activity times and which switchboard integration is in control or pending.
  • list_conversationsList conversationsGETLists the conversations a user is part of (filter by userId or userExternalId), with type, display name, metadata and switchboard state. Cursor paged: pass meta.afterCursor as page.after.
  • update_conversationUpdate conversationPATCHUpdates a conversation's display name, description, icon URL or metadata. Answers the updated conversation.

User, 5 operations

  • create_userCreate userPOSTCreates a messaging user with an optional externalId (your own id), profile (given name, surname, email, avatar, locale), sign-up date and metadata. Answers the user with its id.
  • delete_userDelete userDELETEDeletes a messaging user with its clients and conversation history; deletion completes when the user:delete webhook fires. To erase only personal details use delete_user_personal_information.
  • get_userGet userGETReturns one messaging user by id or externalId: profile, metadata, identities, Zendesk id and sign-up date (personal data).
  • list_usersList usersGETFinds messaging users by email identity (filter identities.email), matching emails in their identities, not profile.email. Answers the users with profile and identities (personal data).
  • update_userUpdate userPATCHUpdates a messaging user's profile, metadata, sign-up date or retention flag. Answers the updated user.

Webhook, 5 operations

  • create_webhookCreate webhookPOSTCreates a webhook on a custom (or Connect) integration that POSTs the chosen events (triggers such as conversation:message) to a target URL. The signing secret is left out of the answer.
  • delete_webhookDelete webhookDELETEDeletes a webhook from an integration; its target stops receiving events.
  • get_webhookGet webhookGETReturns one webhook of an integration: target URL, triggers and payload options. The signing secret is left out.
  • list_webhooksList webhooksGETLists the webhooks of a custom (or Connect) integration: target URL, triggers and payload options. The signing secret is left out.
  • update_webhookUpdate webhookPATCHChanges a webhook's target URL, triggers or payload options; fields left out keep their value. Answers the updated webhook without its signing secret.

Message, 4 operations

  • delete_all_messagesDelete all messagesDELETEDeletes every message of a conversation, keeping the conversation itself. Cannot be undone.
  • delete_messageDelete messageDELETEDeletes one message of a conversation by its id. Cannot be undone.
  • list_messagesList messagesGETLists the messages of a conversation, newest page first (up to 100 per page), with author, content, source channel and quoted message. Page back in history with page.before set to meta.beforeCursor.
  • post_messagePost messagePOSTSends a message in a conversation, as the business or on behalf of a user: text, image, file, carousel, list, form, location or a WhatsApp template. Business messages are delivered to the end user on their channel.

Switchboard, 4 operations

  • create_switchboardCreate switchboardPOSTCreates the app's switchboard, which routes control of conversations between integrations such as bots and agent workspaces. Only one switchboard can exist per app.
  • delete_switchboardDelete switchboardDELETEDeletes the switchboard and all its switchboard integrations; the linked integrations then receive every conversation event.
  • list_switchboardsList switchboardsGETLists the app's switchboard (at most one per app), with whether it is enabled and its default switchboard integration.
  • update_switchboardUpdate switchboardPATCHEnables or disables the switchboard, or sets the switchboard integration that gets control of new conversations.

Switchboard integration, 4 operations

  • create_switchboard_integrationCreate switchboard integrationPOSTLinks an integration to the switchboard under a name used in control transfers (pass_control, offer_control), with its next integration and whether it gets events while on standby.
  • delete_switchboard_integrationDelete switchboard integrationDELETERemoves an integration from the switchboard; conversations it controlled get a new one by the default assignment rules on their next activity.
  • list_switchboard_integrationsList switchboard integrationsGETLists the integrations linked to the switchboard, with their name, integration id or type, next integration and standby event setting.
  • update_switchboard_integrationUpdate switchboard integrationPATCHChanges a switchboard integration's name, linked integration, next integration, standby events or message history count.

Client, 3 operations

  • create_clientCreate clientPOSTLinks a user to a channel (SMS, WhatsApp, email and others) as a pending client found by match criteria such as a phone number, attached to a conversation. A confirmation message, if given, is sent to the user on that channel.
  • list_clientsList clientsGETLists a user's channel clients (linked and pending): channel type, status, external id such as a phone number, display name and last seen time. Cursor paged with page.after.
  • remove_clientRemove clientDELETERemoves a client from a user and unsubscribes it from all its conversations.

Integration, 3 operations

  • delete_integrationDelete integrationDELETEDeletes a channel integration: the channel stops sending and receiving messages for the app.
  • get_integrationGet integrationGETReturns one channel integration by id: type, status, display name and its channel settings. Channel credentials and signing secrets are left out.
  • list_integrationsList integrationsGETLists the app's channel integrations (web, iOS, Android, WhatsApp, Messenger, custom and others) with id, type, status and display name. Filter by types; cursor paged with page.after.

Device, 2 operations

  • get_deviceGet deviceGETReturns one SDK device of a user: platform, app version, status and last seen time.
  • list_devicesList devicesGETLists a user's SDK devices (web, iOS, Android), sorted by last seen time, with platform, app version, status and last seen time.

Accept control, 1 operation

  • accept_controlAccept controlPOSTTransfers control of a conversation to the switchboard integration that was offered it (the pending one).

Activity, 1 operation

  • post_activityPost activityPOSTSends a typing indicator (typing:start, typing:stop), shown to the end user, or marks the conversation as read (conversation:read), as the business or a user. A user author can only send conversation:read.

Attachment, 1 operation

  • upload_attachmentUpload attachmentPOSTUploads a file to Sunshine Conversations and returns its mediaUrl, to send in a file, image or carousel message with post_message. Sunshine limits the size and type of uploaded files.

Conversion event, 1 operation

  • post_conversion_eventsPost conversion eventsPOSTReports conversion events for a conversation's end user to Meta (Messenger, Instagram or WhatsApp), with the payload Meta expects. Answers the dataset id and how many events were received.

Join, 1 operation

  • join_conversationJoin conversationPOSTAdds a user (by userId or userExternalId) as a participant of an sdkGroup conversation. Answers the participant.

Leave, 1 operation

  • leave_conversationLeave conversationPOSTRemoves a user from a conversation, by userId, userExternalId or participantId.

Offer control, 1 operation

  • offer_controlOffer controlPOSTOffers control of a conversation to a switchboard integration, which becomes pending and is notified by webhook; it takes over with accept_control. Replaces any earlier offer.

Participant, 1 operation

  • list_participantsList participantsGETLists the participants of a conversation, with their user id, external id, unread count and last read time. Cursor paged: pass meta.afterCursor as page.after.

Pass control, 1 operation

  • pass_controlPass controlPOSTGives control of a conversation to a switchboard integration (by id, name, or next for its default next one); every other switchboard integration goes to standby.

Personalinformation, 1 operation

  • delete_user_personal_informationDelete user personal informationDELETEErases a user's personal information: name, email, avatar and custom properties, and the channel details of their clients. The conversation history is kept.

Release control, 1 operation

  • release_controlRelease controlPOSTReleases control of a conversation: clears its switchboard state so that no integration is in control.

Remove, 1 operation

  • remove_attachmentRemove attachmentPOSTRemoves a previously uploaded attachment by its mediaUrl. Deleted files can stay in the CDN cache for up to 15 minutes.

Sync, 1 operation

  • sync_userSync userPOSTRe-synchronizes a messaging user with its core Zendesk user (by zendeskId), for example after the Zendesk user's email changed or two users were merged (survivingZendeskId).

Use Sunshine Conversations from Claude Code, Cursor or Codex

Connect Sunshine Conversations in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Sunshine Conversations operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Sunshine Conversations

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Sunshine Conversations once

    Add your Sunshine Conversations connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Sunshine Conversations integration FAQ

What can you do with the Sunshine Conversations integration?

LiveContext exposes 48 operations on Sunshine Conversations, covering conversation, user, webhook and message.

Popular integrations

Browse the whole catalog