Skip to main content
Connect Tembo to Slack to trigger background tasks with any coding agent (Claude Code, Codex, OpenCode, Amp, Cursor, etc.).

Installation

1

Install

Navigate to the Integrations page in Tembo and click the Install button next to Slack.
2

Authorize Slack Permissions

Authorize Tembo to access your Slack workspace. The bot requires the following permissions:
PermissionPurpose
app_mentions:readDetect when users mention @tembo
channels:historyRead messages in public channels for context
channels:readAccess basic channel information
chat:writeSend messages and status updates
commandsHandle slash commands
files:writeShare diff images and code snippets
groups:historyRead messages in private channels for context
groups:readAccess private channel information
im:historyRead direct messages for context
im:readAccess direct message information
im:writeSend direct messages
mpim:historyRead group direct messages for context
mpim:readAccess group direct message information
mpim:writeSend group direct messages
reactions:writeAdd status indicators to messages
users:readAccess user information for personalization
You’ll be redirected back to the Integrations page when authorization is complete.
3

Configure Repositories

Ensure you have connected your GitHub, GitLab, or Bitbucket repositories to Tembo first, as these will be available for selection in Slack commands.
4

Set Preferences

After installation, you can select a default repository for Slack tasks.Select Model

Usage

Basic Commands

Start a Background Coding Agent

@tembo [your task description]
Example:
@tembo Fix the authentication bug in the login flow

Advanced Command Options

Tembo supports flexible command syntax with multiple options. You can use either bracket format or inline format:

Bracket Format

@tembo [option1=value1, option2=value2] [your task description]
Example:
@tembo [branch=dev, repo=owner/webapp, agent=claudeCode:claude-4-5-sonnet] Add password strength validation

Available Options

  • branch= - Specify the base branch for the PR
    • Example: branch=main, branch=develop, branch=feature/auth
  • repo= - Target a specific repository or multiple repositories
    • Single repository: repo=owner/repository, repo=myorg/webapp
    • Multiple repositories: repo=owner/frontend,owner/backend or repo=frontend backend (space-separated)
    • Example: @tembo [repo=myorg/webapp,myorg/api] Add authentication to both frontend and backend
  • agent= - Specify which coding agent and model to use (format: agentType:model)
    • Example: agent=claudeCode:claude-4-5-sonnet, agent=codex:gpt-5.2
    • Supported coding agents: claudeCode, codex, opencode, amp, cursor
    • If no coding agent is specified, Tembo uses your organization’s default configuration
    • See Coding Agents documentation for all available options

Working with Multiple Repositories

For tasks that span multiple repositories (e.g., full-stack features):
  1. Specify multiple repos in the command:
    @tembo [repo=owner/frontend,owner/backend] Add user authentication
    
    or use space-separated format:
    @tembo [repo=frontend backend] Add user authentication
    
  2. Tembo will create separate pull requests for each repository and coordinate changes across all selected repositories
  3. Example use cases:
    • Full-stack features requiring both frontend and backend changes
    • API changes that need updates in multiple service repositories
    • Documentation updates across multiple repos

Coding Agent Selection

Tembo automatically determines the best coding agent for your task based on your organization’s configuration. Here’s how the selection works: Default Behavior:
  • If you don’t specify an agent, Tembo uses your organization’s default agent configuration
  • You can set organization-wide defaults in the Settings page
  • Individual repositories can override these defaults in their settings
Specifying an Agent:
@tembo [agent=claudeCode:claude-4-5-sonnet] Your task description here
Examples by Task Type:
// Quick bug fix with Claude Code & Haiku
@tembo [agent=claudeCode:claude-4-5-haiku] Fix the null pointer exception in utils/parser.ts

// Complex refactoring with Cursor & Grok
@tembo [agent=cursor:grok] Refactor the authentication system to use OAuth2

// Frontend work with OpenCode & Opus
@tembo [agent=opencode:claude-4.1-opus] Add responsive design to the dashboard component

Thread Context Utilization

When you mention @tembo in a thread, the coding agent automatically:
  • Reads the entire conversation history
  • Understands the context from previous messages
  • Incorporates team discussions into the solution

Supported Triggers

Tembo reacts to Slack interactions and maps them to automation triggers (use a slack.* naming convention in your triggerName, e.g., slack.app_mention). The Integrations page in the app shows the live set enabled for your org. Supported events:
  • app_mention
  • slash_command
  • message_action
  • thread_reply
See Automations for how to create triggers from Slack events.

Status Updates

Tembo keeps you informed throughout the task lifecycle: Reaction indicators on your message:
  • ⌛️ Hourglass - Tembo is working on the task
  • Check mark - Task completed successfully
  • X mark - Task failed or encountered an error
Direct messages for longer tasks:
  • Progress updates as the coding agent works
  • Pull request links when code changes are ready
  • Error details if the task cannot be completed
Channel updates when complete:
  • Links to generated pull requests with summary of changes

Feedback Loop Integration

When you create a task from Slack and later provide feedback on the pull request through GitHub or GitLab (using the Feedback Loop), Tembo will automatically notify you back in the Slack thread when your feedback has been processed: What happens:
  1. You mention @tembo in Slack to create a task
  2. Tembo creates a pull request on GitHub or GitLab
  3. You review the PR and leave feedback by mentioning @tembo in your GitHub/GitLab review or comments
  4. Tembo processes your feedback and updates the PR
  5. Tembo posts a notification back to the original Slack thread with a summary of changes and a link to the updated PR
Notification includes:
  • A summary of the changes made based on your feedback
  • “View Updated PR” button to review the changes
  • “View on Tembo” button to see the full task details
  • Status reactions on your feedback messages (⌛️ while processing, ✅ when complete)
This creates a seamless workflow where you can initiate tasks in Slack, review code in your Git provider, and get updates back in Slack without switching contexts.

Best Practices

Write clear, specific task descriptions: Good examples:
@tembo Add error handling to the user registration endpoint
@tembo Optimize the product search query by adding an index on the name column
Less effective:
@tembo Fix the bug
@tembo Make it faster
Use threads for collaboration:
  1. Team discusses the problem and potential approaches in a thread
  2. When ready, mention @tembo with the final task description
  3. Tembo reads the full thread context and incorporates the discussion

Troubleshooting

Tembo Not Responding to Mentions

If Tembo doesn’t respond when you mention @tembo:
  1. Check bot installation - Verify Tembo is installed in your workspace on the Integrations page
  2. Verify channel access - Ensure the Tembo bot has been invited to the channel (/invite @tembo)
  3. Review permissions - Confirm all required permissions were granted during installation
  4. Check integration status - The integration may need to be reconnected if permissions were revoked

Tasks Not Creating Pull Requests

If tasks are acknowledged but no pull requests appear:
  1. Verify repository connection - Ensure you have connected GitHub, GitLab, or Bitbucket repositories to Tembo
  2. Check repository mapping - Confirm your default repository is set correctly in the Slack integration settings
  3. Review task description - Provide clear, actionable task descriptions that specify what code changes are needed

Wrong Repository Targeted

If Tembo creates PRs in the wrong repository:
  1. Set default repository - Configure your preferred repository in the Slack integration settings
  2. Use explicit repo option - Specify the repository in your command: @tembo [repo=owner/repo] your task
  3. Check organization settings - Verify the default repository setting at the organization level