For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
      • AgentServer
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions & Utilities
      • LiveWire
      • PomBuilder
      • Prefabs
        • ConciergeAgent
        • FAQBotAgent
        • InfoGathererAgent
        • ReceptionistAgent
        • SurveyAgent
      • SkillBase
      • SkillManager
      • SkillRegistry
      • Skills
      • SwaigFunction
      • SwmlBuilder
      • SWMLService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • ChatResource
      • Compat
      • Datasphere
      • Fabric
      • ImportedNumbersResource
      • Logs
      • LookupResource
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSubResource
      • Queues
      • Recordings
      • Registry
      • RestClient
      • RestError
      • Short Codes
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • ConciergeConfig
  • venueName
  • services
  • amenities
  • hoursOfOperation
  • specialInstructions
  • welcomeMessage
  • name
  • route
  • agentOptions
  • Example
  • createConciergeAgent
AgentsPrefabs

ConciergeAgent

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

FAQBotAgent

Next
Built with

A virtual concierge for a venue or business. Answers questions about services, amenities, and hours of operation, and offers directions and recommendations.

1import { ConciergeAgent } from '@signalwire/sdk';
2
3const agent = new ConciergeAgent({ /* ConciergeConfig */ });

ConciergeConfig

venueName
stringRequired

Name of the venue or business (used in greetings and prompts).

services
string[]Required

List of services offered by the venue.

amenities
Record<string, Record<string, string>>Required

Map of amenity names to detail key/value pairs. For example, { "Pool": { "hours": "9am-9pm", "location": "3rd floor" } }.

hoursOfOperation
Record<string, string>Defaults to { default: "9 AM - 5 PM" }

Hours of operation by category. Use "default" for a single block, or keyed entries like { weekdays: "9-5", weekends: "10-4" }.

specialInstructions
string[]Defaults to []

Extra instruction bullets appended to the agent’s prompt.

welcomeMessage
string

Optional custom welcome message played as a non-bargeable static greeting.

name
stringDefaults to "concierge"

Agent display name.

route
stringDefaults to "/concierge"

HTTP route for the agent.

agentOptions
Partial<AgentOptions>

Additional AgentBase options forwarded to the constructor.

Example

1import { ConciergeAgent } from '@signalwire/sdk';
2
3const agent = new ConciergeAgent({
4 venueName: 'Riverside Resort',
5 services: ['Dining', 'Spa', 'Concierge'],
6 amenities: {
7 Pool: { hours: '9 AM - 9 PM', location: 'Level 3' },
8 Gym: { hours: '24 hours', access: 'Room key' },
9 },
10 hoursOfOperation: {
11 default: '9 AM - 5 PM',
12 weekends: '10 AM - 4 PM',
13 },
14 specialInstructions: [
15 'Always mention our weekend jazz brunch when discussing dining.',
16 ],
17 welcomeMessage: 'Welcome to Riverside Resort. How can I help you?',
18});
19
20agent.serve();

createConciergeAgent

1import { createConciergeAgent } from '@signalwire/sdk';
2
3const agent = createConciergeAgent({
4 venueName: 'Riverside Resort',
5 services: ['Dining'],
6 amenities: { Pool: { hours: '9-9' } },
7});