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.resolve_customer_issue (LLM tool)
user_emotional_state (vision tool)
PAL configuration
- 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_issuetool gathers:product: what the issue is aboutissue_description: a short explanation of the problemurgency: how serious the issue is (low,medium, orhigh)
- Perception Layer: Uses the
raven-1model to watch for signs like fidgeting, slouching, or facial expressions. When the user appears upset, the attacheduser_emotional_statevision 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
cartesiavoice engine with emotion control. - Conversational Flow Layer: Uses
sparrow-1turn detection model with low turn-taking patience for fast responses and medium face interruptibility for balanced conversation flow.
- LLM Layer: The attached
Create a Conversation with the Customer Service Agent PAL
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.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.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
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.

