This is a community-driven project and is not officially associated with Tembo. For developers interested in contributing or understanding the codebase, see the GitHub repository.
Features
- Create Tasks - Create new Tembo tasks with natural language prompts directly from Discord
- View Tasks - List and search through all your tasks with interactive pagination
- Repository Management - View connected repositories and their status
- Per-User Authentication - Each Discord user securely stores their own Tembo API key with AES-256-GCM encryption
- Works Anywhere - Use in Discord servers or DMs with user-installable bot support
- Autocomplete Support - Smart autocomplete for agents and repositories when creating tasks
Installation
Install Bot to Discord
Add the Tembo Discord bot to your server or user account by visiting the installation link. You can install it for personal use (works in DMs) or add it to a server you manage.

Get Your Tembo API Key
Sign up for a Tembo account at app.tembo.io if you haven’t already, then generate an API key from your Tembo dashboard under Settings → API Keys.
Usage
Creating Tasks
Use the/task create command to create new Tembo tasks from Discord. You can specify:
- Task prompt (required) - Natural language description of what you want to build or fix
- Agent model (optional) - Select from available Tembo agents with autocomplete
- Repositories (optional) - Choose which repository to work on with autocomplete
- Target branch (optional) - Specify the branch for the task

Viewing and Searching Tasks
List All Tasks
Use/task list to view your tasks with pagination:
Search Tasks
Use/task search to find specific tasks by keyword:

- Interactive pagination - Use Previous/Next buttons to navigate
- Adjustable page size - Set limit from 1-25 tasks per page
- Ephemeral responses - Add
ephemeral:trueto make responses visible only to you
Managing Repositories
View all your connected repositories:
Checking Your Status
Use/whoami to see your current Tembo account information:
/status to check if your API key is registered with the bot:
Best Practices
Write clear, specific task prompts with file paths, standards, or references (e.g., “Fix memory leak in workers/job-processor.ts” not “Fix the bug”). See the Prompting Guide for detailed tips.Managing Your API Key
- Update key - Run
/setup key:YOUR_NEW_API_KEYto replace your existing key - Remove key - Run
/unregisterto delete your stored key (re-register with/setupto use the bot again) - Keys are encrypted with AES-256-GCM and validated before storage (see Security section below)
Ephemeral Messages
Addephemeral:true to any command (e.g., /task list ephemeral:true) to make responses visible only to you.
Security
The Tembo Discord bot protects your data with:- Per-user authentication — Each user stores their own validated API key; no cross-user access
- AES-256-GCM encryption — Keys encrypted with unique IV/salt per user, master key in Cloudflare secrets
- Request verification — All Discord interactions verified using Discord’s signature verification
- Minimal permissions — Only requests necessary Discord permissions; serverless on Cloudflare Workers over HTTPS
Troubleshooting
Bot doesn’t respond to commands:- Verify the bot is added to your server or installed to your user account
- Check that you have registered your API key with
/setup - Ensure you’re using the correct command syntax (use
/to see available commands)
- Run
/setup key:YOUR_TEMBO_API_KEYto register your key - Verify your API key is valid by testing it at app.tembo.io
- Check
/statusto see your registration status
- This usually means the Tembo API is taking longer than expected
- Try the command again - the bot uses background processing to avoid timeouts
- Create a issue in the bot’s repo if the issue persists
- Verify you’re logged in to the correct Tembo account with
/whoami - Check that tasks exist in your Tembo dashboard
- Ensure your API key has the necessary permissions
- Check your Discord privacy settings allow DMs from server members
- The bot sends onboarding instructions via DM when you first try to use it
- If DMs are blocked, the bot will show instructions in the channel instead