Deploy Your OmniagentChannels

Kiosk

Deploy your Omniagent to a Napster Station for in-person, walk-up conversations

Kiosk puts your Omniagent on a Napster Station — a dedicated device for in-person, walk-up conversations in places like lobbies, retail floors, showrooms, and events. Unlike the other channels, kiosk runs on Napster hardware rather than a client you build and host.

Kiosk requires a Napster Station. See napster.com/station for more details, and contact us to get set up.

How a Station works

A Napster Station has two screens:

  • The experience screen — a large display that runs your experience: a custom, branded app the agent presents and drives. In a retail mall, for instance, this is where a visitor sees products, wayfinding, or promotions.
  • The agent screen — a smaller display embedded in the Station that shows the agent's avatar. This is who the visitor talks to.

A visitor speaks to the agent on the small screen, and the agent drives the experience on the large screen — surfacing the right content as the conversation unfolds.

The experience

The experience is a separate application you build and host — it isn't generated by Napster. Because it's bespoke to your Station and use case, building and wiring up the experience is done together with the Napster team. Contact us for the details, at least for now.

When you set up the kiosk channel, you define your experience — its name (the theme field) and the URL where it's hosted (the url field) — alongside the usual agent settings.

Setting up kiosk

Create an agent

If you don't already have one, create an agent. See Building Your Omniagent for the full walkthrough.

curl -X POST https://companion-api.napster.com/public/agents \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "companionId": "comp_abc123",
    "name": "Lobby Concierge",
    "voiceId": "alloy",
    "providerSettings": {
      "temperature": 0.7
    }
  }'

Configure the kiosk channel

Call PUT /public/agents/{agentId}/channels/kiosk. Name the experience with theme, point the channel at it with url, and use initialSpeech to tell the agent how to open with each visitor.

curl -X PUT https://companion-api.napster.com/public/agents/agent_abc123/channels/kiosk \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "theme": "Lobby Concierge",
    "url": "https://experiences.example.com/lobby-concierge",
    "initialSpeech": "Welcome the visitor and offer to help them find their way around."
  }'

Pair the Station

Pairing the physical Station with your agent — and deploying your experience to it — is handled during setup with the Napster team. Once paired, the Station runs your agent and experience.

Channel overrides

You can override the agent's default settings specifically for the kiosk. Include any of these fields when configuring the channel:

curl -X PUT https://companion-api.napster.com/public/agents/agent_abc123/channels/kiosk \
  -H "X-Api-Key: $NAPSTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "theme": "Exhibit Guide",
    "url": "https://experiences.example.com/exhibit",
    "initialSpeech": "Welcome the visitor to the exhibit and ask what they would like to explore.",
    "functions": ["fn_kiosk_directory"],
    "faqCollections": ["faq_venue_info"]
  }'
FieldDescription
themeThe name of the experience that runs on the Station's main screen
urlThe hosted URL of the experience that runs on the Station's main screen
initialSpeechInstructions for how the agent should open with each visitor — see Session Configuration — Opening instructions
providerSettingsOverride temperature, turn detection, and noise reduction for the kiosk
functionsUse different tools on the kiosk than on other channels
faqCollectionsUse different FAQs on the kiosk
knowledgeBaseIdUse a different knowledge base on the kiosk
useWebSearchEnable or disable web search on the kiosk
idleTimeoutSecondsHow long to wait before ending an inactive conversation and resetting for the next visitor

If omitted, the agent's base configuration is used.

Managing the kiosk channel

# Get current kiosk config
curl https://companion-api.napster.com/public/agents/agent_abc123/channels/kiosk \
  -H "X-Api-Key: $NAPSTER_API_KEY"

# Remove kiosk channel
curl -X DELETE https://companion-api.napster.com/public/agents/agent_abc123/channels/kiosk \
  -H "X-Api-Key: $NAPSTER_API_KEY"

Reviewing kiosk conversations

Every kiosk interaction is captured as a session. List them and filter by type in the Sessions API — the sessionType is kiosk, and each record includes timing, cost, and the full transcript. Because walk-up visitors are anonymous, kiosk sessions typically have no externalClientId.

On this page