Skip to main content

Customer Service Agent Configuration

This example uses the tools registry: tools are created once at /v2/tools and attached to the PAL. Tools here use the default app-message delivery, so calls arrive as conversation.tool_call events for your frontend to handle.
The agent uses two tools - an LLM tool that logs the customer’s issue, and a vision tool that reports the user’s emotional state when Raven sees a strong cue.
resolve_customer_issue (LLM tool)
user_emotional_state (vision tool)
The PAL itself no longer defines tools inline - it sets the models and ambient queries, and the tools are attached separately:
PAL configuration
This PAL is configured to handle real product or service issues with empathy. It includes:
  • PAL Identity: A professional customer service agent that helps users with real product or service issues. The agent speaks clearly and responds with empathy, adjusting based on how the user sounds or looks.
  • Full Pipeline Mode: Enables the full Tavus conversational pipeline, including Perception, STT, LLM, and TTS.
  • System Prompt: Tells the agent to act professionally and respond helpfully, while being aware of the user’s emotional state.
  • Context: Describes a real customer support situation. The agent listens to the user’s issue, helps resolve it, and changes its tone or pace if the user seems frustrated or confused.
  • PAL Layer:
    • LLM Layer: The attached resolve_customer_issue tool gathers:
      • product: what the issue is about
      • issue_description: a short explanation of the problem
      • urgency: how serious the issue is (low, medium, or high)
    • Perception Layer: Uses the raven-1 model to watch for signs like fidgeting, slouching, or facial expressions. When the user appears upset, the attached user_emotional_state vision tool fires with:
      • emotional_state: what the user seems to feel (e.g., frustrated, calm)
      • indicator: what was observed (e.g., sighing, avoiding eye contact)
    • TTS Layer: Employs the cartesia voice engine with emotion control.
    • Conversational Flow Layer: Uses sparrow-1 turn detection model with low turn-taking patience for fast responses and medium face interruptibility for balanced conversation flow.

Create a Conversation with the Customer Service Agent PAL

1

Step 1: Create the tools

Create each tool at /v2/tools. The response returns a tool_id (e.g. t1234567890) you’ll attach to the PAL in Step 3.
2

Step 2: Create the PAL

Create the PAL using the following request. Note there are no inline tools - they’re attached in the next step.
cURL
Replace <api-key> with your actual API key. You can generate one in the PAL Maker.
3

Step 3: Attach the tools to the PAL

Attach both tools to the PAL by their tool_ids. Vision tools require perception_model: "raven-1" on the PAL, which the configuration above already sets.
cURL
4

Step 4: Create a Conversation

Use the following request body example:
cURL
  • Replace <api_key> with your actual API key.
  • Replace <customer_service_pal_id> with the ID of the PAL you created using the Customer Service Agent configuration.
5

Step 5: Join the Conversation

Click the link in the conversation_url field to join the conversation: