- An EchoAuth AI Agent license key. Buy one in the shop if you don’t have one yet.
- A Discord server where you can add bots and manage roles.
- An OpenRouter API key. One OpenRouter key covers everything the agent needs: answers, screenshots and search.
- Optionally, a docs site or some written documentation for the agent to answer from.
1. Create your account
Open the registration page
Enter your license key
ECHO-XXXX-XXXX-XXXX-XXXX.Choose a username and password

The registration page

The dashboard after signing in

The agent page
2. Create your Discord bot
Your agent answers through a Discord bot that belongs to you. Create one in the Discord Developer Portal.Create an application
Turn on the Message Content intent
Copy the bot token
Invite the bot to your server
bot and applications.commands, then these bot permissions:- View Channels
- Send Messages
- Read Message History
- Embed Links
- Attach Files
Give the bot access to your ticket category
3. Add your keys
Create an API key at openrouter.ai/keys and add some credit to your OpenRouter account. The vision model is free, but the chat and embedding models are paid per use. Then, on your agent page, click Configure and open the API Keys tab.
The API Keys tab, with the OpenRouter key and Discord bot token configured
- Paste your key into OpenRouter API Key.
- Paste your Discord Bot Token.
- Click Save.
4. Choose your AI models
Open the AI Settings tab. The agent uses three models. Set all three to OpenRouter and pick the recommended models:
The AI Settings tab with the recommended OpenRouter models
qwen/qwen3-embedding-8b. Search still works: it checks every passage instead of using an index, which stays fast for a knowledge base of a few thousand passages.5. Connect it to your tickets
Open the Discord tab. These settings tell the agent where to answer and who counts as staff.
The Discord tab
Owner Role IDs
Owner Role IDs
/pause_bot and /edit_base. Separate several IDs with commas.Staff Role IDs
Staff Role IDs
/restart there.Ticket Category IDs
Ticket Category IDs
Ticket Bot IDs
Ticket Bot IDs
Image Models
Image Models
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:freegoogle/gemma-4-31b-it:freegoogle/gemma-4-26b-a4b-it:freethinkingmachines/inkling-small:freedots-studio/dots-3-note-preview:free6. Give the agent your documentation
Open the Knowledge Base tab. The agent answers from two sources, and you can use either or both.
The Knowledge Base tab
- Docs site
- Internal knowledge base
- Enter your Docs URL, for example
https://docs.acme-store.com, without a trailing slash. The site must serve/llms.txt, which Mintlify does automatically. - Click Save, then go to your agent page and click Update Agent.
- Back on this tab, click Index documentation. A few hundred pages take a couple of minutes, and you can leave the page while it runs.
7. Set reply timing and escalation
Open the Behavior tab.
The Behavior tab
refund, chargeback or real person.
8. Get alerts (optional)
Open the Notifications tab and paste the ID of a private staff channel. The agent posts there when your license is about to expire and when an AI provider rejects your key or runs out of quota.
The Notifications tab
9. Start the agent
Go back to your agent page and click Update Agent. This redeploys the agent with your bot token, docs URL and embedding model. The output appears below the button while it runs.- Open a test ticket in your server and ask a question your docs answer.
- Open Live logs on your agent page and watch the agent receive the message, search your docs and reply.

Live logs
Slash commands
Once the agent is in your server, owners and staff can control it from Discord.Keep your license active
Your agent stays online while your license is active. The License page shows the days left and your expiry date.
The License page
Troubleshooting
The bot is online but never replies
The bot is online but never replies
- Check that Message Content Intent is on in the Discord Developer Portal.
- Check that the ticket’s category ID is in Ticket Category IDs.
- Check that the bot can see and send messages in that category.
- Check that a staff member hasn’t already written in the ticket. Mention the bot or use
/restartto bring it back. - Check that Global Bot Pause is off.
The bot ignores the ticket's opening message
The bot ignores the ticket's opening message
The agent isn't using my documentation
The agent isn't using my documentation
Replies or indexing fail with an OpenRouter error
Replies or indexing fail with an OpenRouter error
The agent stopped responding
The agent stopped responding