Built-in Skills
Built-in Skills
Available Skills
datetime
Get current date and time information with timezone support. This is one of the most commonly used skills — callers often ask “what time is it?” or need scheduling help.
Functions:
get_current_time- Get current time in a timezoneget_current_date- Get today’s date
Requirements: pytz package (usually installed automatically)
Parameters:
Output format:
- Time: “The current time in America/New_York is 2:30 PM”
- Date: “Today’s date is November 25, 2024”
Common use cases:
- “What time is it?” / “What time is it in Tokyo?”
- “What’s today’s date?”
- Scheduling and appointment contexts
- Time zone conversions
Limitations:
- Requires valid timezone names (e.g., “America/New_York”, not “EST”)
- Doesn’t do time math or calculate durations
- Doesn’t handle historical dates
math
Perform mathematical calculations safely. The skill uses a secure expression evaluator that supports common operations without executing arbitrary code.
Functions:
calculate- Evaluate mathematical expressions
Requirements: None
Parameters:
Supported operations:
- Basic:
+,-,*,/,**(power),%(modulo) - Functions:
sqrt,sin,cos,tan,log,abs,round - Constants:
pi,e - Parentheses for grouping
Common use cases:
- “What’s 15 percent of 230?”
- “Calculate 45 times 67”
- “What’s the square root of 256?”
- Price calculations, tip calculations
Limitations:
- Limited to supported functions (no arbitrary Python)
- Large numbers may lose precision
- Can’t solve equations or do symbolic math
web_search
Search the web using Google Custom Search API. Results are filtered for quality and summarized for voice delivery.
Functions:
web_search- Search the web and return summarized results
Requirements:
- Google Custom Search API key (from Google Cloud Console)
- Search Engine ID (from Programmable Search Engine)
Setup:
- Create a project in Google Cloud Console
- Enable the Custom Search JSON API
- Create an API key
- Create a Programmable Search Engine at https://programmablesearchengine.google.com/
- Get the Search Engine ID
Parameters:
Multi-instance support: Yes - add multiple instances for different search engines (news, docs, etc.)
wikipedia_search
Search Wikipedia for information. A free, no-API-key alternative to web search for factual queries.
Functions:
search_wikipedia- Search and retrieve Wikipedia article summaries
Requirements: None (uses public Wikipedia API)
Parameters:
weather_api
Get current weather information for locations worldwide. Commonly used for small talk, travel planning, and location-aware services.
Functions:
get_weather- Get current weather conditions for a location
Requirements: WeatherAPI.com API key (free tier available)
Setup:
- Sign up at https://www.weatherapi.com/
- Get your API key from the dashboard
- Free tier allows 1 million calls/month
Parameters:
joke
Tell jokes to lighten the mood or entertain callers. Uses a curated joke database for clean, family-friendly humor.
Functions:
tell_joke- Get a random joke
Requirements: None
Parameters:
play_background_file
Play audio files in the background during calls. Audio plays while conversation continues, useful for hold music, ambient sound, or audio cues.
Functions:
play_background_file- Start playing audio filestop_background_file- Stop currently playing audio
Requirements: None (audio file must be accessible via URL)
Parameters:
Supported formats: MP3, WAV, OGG
swml_transfer
Transfer calls to another SWML endpoint.
Functions:
transfer_to_swml- Transfer to SWML URL
Requirements: None
datasphere
Search SignalWire DataSphere documents.
Functions:
search_datasphere- Search uploaded documents
Requirements: DataSphere API credentials
native_vector_search
Local vector search using .swsearch index files.
Functions:
search_knowledge- Search local vector index
Requirements: Search extras installed (pip install "signalwire[search]")
mcp_gateway
Connect to MCP (Model Context Protocol) servers via the MCP Gateway service. This skill dynamically creates SWAIG functions from MCP tools, enabling your agent to use any MCP-compatible tool.
Functions: Dynamically created based on connected MCP services
Requirements:
- MCP Gateway service running
- Gateway URL and authentication credentials
Parameters:
How it works:
- Skill connects to gateway and discovers available tools
- Each MCP tool becomes a SWAIG function (e.g.,
mcp_todo_add_todo) - Sessions persist per call_id, enabling stateful tools
- Session automatically closes when call ends
google_maps
Validate addresses and compute driving routes using Google Maps. Supports geocoding, spoken number normalization (e.g., “seven one four” becomes “714”), and location-biased search.
Functions:
lookup_address- Validate and geocode a street address or business namecompute_route- Compute driving distance and estimated travel time between two points
Requirements: Google Maps API key with Geocoding and Routes APIs enabled
Parameters:
info_gatherer
Gather answers to a configurable list of questions. This is the skill version of the InfoGathererAgent prefab, designed to be embedded within larger agents.
Functions:
start_questions- Begin the question sequencesubmit_answer- Submit an answer and get the next question
Requirements: None
Parameters:
Multi-instance support: Yes - use the prefix parameter to run multiple question sets on a single agent. With prefix="intake", tools become intake_start_questions and intake_submit_answer, and state is stored under skill:intake in global_data.
claude_skills
Load Claude Code-style SKILL.md files as agent tools. Each SKILL.md file in the configured directory becomes a SWAIG function, with YAML frontmatter parsed for metadata (name, description, parameters).
Functions: Dynamically created from SKILL.md files (prefixed with claude_ by default)
Requirements: PyYAML package
Parameters:
Skills Summary Table
* Requires MCP Gateway service, not external API