Overview
Trigger words are spoken phrases that activate your Ability. When a user says a trigger phrase during a conversation, the Agent routes control to your Ability’smain.py.
Trigger words are configured in the OpenHome Dashboard when you install an Ability, not in your code.
How Trigger Words Work
When a user speaks during a conversation:- Speech is transcribed — The voice input is converted to text
- Trigger matching — The system checks if the text contains any registered trigger phrases
- Ability activation — If a match is found, your Ability takes control
- Conversation handoff — Your
main.pyruns and handles the interaction - Return control — After
resume_normal_flow(), the Agent resumes normal conversation
Configuring Trigger Words
Trigger words are set in the OpenHome Dashboard, not in your code:- Go to app.openhome.com
- Navigate to Abilities → Your Ability
- Click Settings or Trigger Words
- Add one or more trigger phrases
- Save and test in the Live Editor
Important: Trigger words are configuration, not code. Users can customize them when installing your Ability, so design your Ability to work with various activation phrases.
Best Practices for Trigger Words
Make Them Natural
Choose phrases users would naturally say in conversation:Good Examples
- “play something on audius”
- “what’s the weather”
- “start a quiz”
- “give me advice”
Bad Examples
- “activate audius module”
- “weather query execute”
- “quiz start command”
- “advice function run”
Use Multiple Variations
Provide several ways to say the same thing:Be Specific Enough
Avoid overly generic triggers that might conflict with normal conversation:| Too Generic ❌ | Better ✅ |
|---|---|
| “help" | "give me advice" |
| "play" | "play music” or “play a song" |
| "search" | "search the web” or “look this up" |
| "start" | "start a quiz” or “begin timer” |
Consider Context
Think about when users would want your Ability: Music Player- “play music”
- “play a song”
- “play something”
- “start a quiz”
- “quiz me”
- “let’s play trivia”
- “what’s the weather”
- “check the weather in [city]”
- “will it rain today”
Avoid Ambiguity
Make sure your triggers don’t overlap with other common Abilities:| Ambiguous ⚠️ | Clear ✅ |
|---|---|
| “search" | "search the web” (Perplexity) vs “search for music” (Audius) |
| “play" | "play music” vs “play a game" |
| "set" | "set an alarm” vs “set a timer” |
Examples from Official Abilities
Here are real trigger word examples from OpenHome’s official Abilities:Audius Music DJ
Basic Advisor
Date and Time
Perplexity Web Search
Quiz Game
Weather
Notice how each ability uses 2-4 variations of the same intent, covering different ways users might phrase their request.
Brain Routing vs Direct Triggers
OpenHome uses two methods to activate Abilities:1. Direct Trigger Match (Exact)
The system looks for exact phrase matches in the transcription. Fast and deterministic.2. Brain Routing (LLM-based)
If no exact match is found, the Agent’s LLM analyzes the intent and routes to the most appropriate Ability.You don’t control brain routing directly — it’s automatic based on your Ability’s name and description. Focus on providing good trigger words for the direct match path.
Testing Your Trigger Words
After setting trigger words, test them in the Live Editor:- Click Live Editor on your Ability
- Click Start Live Test
- Say your trigger phrases
- Check the logs to see if your Ability activates
- Try variations and edge cases
- Adjust triggers based on what works
Common Issues
| Problem | Solution |
|---|---|
| Ability never activates | Check transcription accuracy — your trigger might not match what the STT produces |
| Activates too often | Your trigger is too generic — make it more specific |
| Only works with exact phrase | Add more variations to catch different phrasings |
| Conflicts with other Abilities | Choose more distinctive trigger words |
Trigger Words and User Experience
Well-designed trigger words create a seamless voice experience:Good Voice UX
Poor Voice UX
Design Principle: Users should be able to activate your Ability naturally, as if talking to a human.
Documenting Your Triggers
When sharing your Ability, document the trigger words in your README:README.md
Advanced: Dynamic Triggers
Some Abilities work better with parameterized triggers where part of the phrase is dynamic:Summary
Natural Language
Use phrases users would naturally say
Multiple Variations
Provide 2-4 ways to say the same thing
Specific Enough
Avoid overly generic phrases
Configured in Dashboard
Set triggers in OpenHome Dashboard, not code
Next Steps
What Are Abilities?
Learn the fundamentals of OpenHome Abilities
Ability Types
Understand Skills, Daemons, and Local abilities
Build Your First Ability
Follow the 5-minute quickstart guide
Contributing Guide
Ship your Ability to the Marketplace
