Devin AI Software Engineer: Complete Setup Guide for Team Workspace, GitHub Integration, Slack Notifications & First Task Assignment

Devin AI Software Engineer: Complete Installation & Setup Guide

Devin by Cognition AI is the world’s first fully autonomous AI software engineer capable of planning, coding, debugging, and deploying entire projects. This guide walks you through setting up Devin for your team — from creating your workspace to assigning your first coding task.

Prerequisites

  • A Cognition AI account with a Teams or Enterprise plan- Admin access to your GitHub organization- Slack workspace admin privileges (for notifications)- A modern web browser (Chrome, Firefox, or Edge)

Step 1: Create Your Team Workspace

Your Devin workspace is the central hub where all AI-assisted engineering tasks are managed.

  • Navigate to app.devin.ai and sign in with your SSO or email credentials.- Click Create New Workspace from the dashboard.- Enter your workspace details:Workspace Name: your-company-engineering Plan: Teams Region: US-East (or closest to your team) Default Branch Convention: feature/devin-*- Invite team members by entering their email addresses or sharing the invite link.- Assign roles: Admin, Manager (can assign tasks), or Viewer (read-only access to sessions).

Configure Workspace Settings

Navigate to **Settings → General** in your workspace and configure the following: # Workspace configuration via Devin CLI npx @cognition-ai/devin-cli config set \ --workspace your-company-engineering \ --default-language typescript \ --auto-lint true \ --max-concurrent-sessions 5 \ --session-timeout 120 ## Step 2: Connect GitHub to Devin

GitHub integration allows Devin to read repositories, create branches, commit code, and open pull requests autonomously. - In your Devin workspace, go to **Settings → Integrations → GitHub**.- Click **Install GitHub App** — this redirects you to GitHub.- Select your GitHub organization and choose repository access:# Recommended: Grant access to specific repositories Repositories: ✅ your-org/frontend-app ✅ your-org/backend-api ✅ your-org/shared-utils ❌ your-org/infrastructure (sensitive)- Approve the permissions request. Devin requires:

  • **Read**: repository contents, metadata, issues, pull requests- **Write**: contents, pull requests, issues, checks
  • - Return to Devin and verify the connection shows a green **Connected** status. ### Configure Repository-Level Settings
    # Create a .devin/config.json in your repository root
    {
      "version": 1,
      "setup_commands": [
        "npm install",
        "cp .env.example .env"
      ],
      "environment": {
        "NODE_ENV": "development",
        "API_KEY": "YOUR_API_KEY"
      },
      "lint_command": "npm run lint",
      "test_command": "npm run test",
      "build_command": "npm run build",
      "branch_prefix": "devin/",
      "auto_pr": true,
      "reviewers": ["lead-dev", "tech-lead"]
    }
    ## Step 3: Set Up Slack Notifications

    Receive real-time updates when Devin completes tasks, encounters blockers, or opens pull requests. - Go to **Settings → Integrations → Slack** in your Devin workspace.- Click **Add to Slack** and authorize the Devin app in your Slack workspace.- Configure notification channels:# Slack notification configuration Channel Mapping: #devin-updates → All task completions and PR links #devin-alerts → Errors, blockers, and failed tasks #engineering → Weekly summary reports

    Notification Triggers: ✅ Task started ✅ Task completed ✅ Pull request opened ✅ Task blocked (needs human input) ✅ Build/test failures ❌ Session heartbeats (too noisy)- Test the integration by clicking Send Test Notification.

    Interact with Devin via Slack

    You can also assign tasks directly from Slack: # In any Slack channel where the Devin app is installed: @Devin fix the authentication bug in issue #142

    @Devin write unit tests for the UserService class in backend-api

    @Devin refactor the payment module to use the Strategy pattern

    Step 4: Assign Your First Coding Task

    Now that everything is connected, let's assign Devin its first real task.

    Option A: Via the Devin Web Interface

    • Click New Session from your workspace dashboard.- Select the target repository (e.g., your-org/backend-api).- Describe the task in natural language:Task: Create a REST API endpoint for user profile updates

    Requirements:

    • PATCH /api/v1/users/:id/profile
    • Accept fields: displayName, bio, avatarUrl
    • Validate input using Zod schema
    • Write unit tests with Jest
    • Follow existing code patterns in src/controllers/- Set task parameters:
    • Branch: auto-create from main- Priority: Normal- Auto-PR: Yes- Reviewers: @your-username
    • - Click Start Session and watch Devin work in real time.

    Option B: Via the Devin CLI

    # Install the Devin CLI
    npm install -g @cognition-ai/devin-cli
    
    # Authenticate
    devin auth login --token YOUR_API_KEY
    
    # Assign a task
    devin task create \
      --repo your-org/backend-api \
      --branch main \
      --description "Add rate limiting middleware using express-rate-limit. Apply 100 requests per 15 minutes per IP to all /api routes. Include tests." \
      --auto-pr \
      --reviewers "lead-dev,tech-lead"
    
    # Monitor task progress
    devin task status --id TASK_ID
    
    # List all active sessions
    devin sessions list --workspace your-company-engineering

    Pro Tips for Power Users

    TipDescription
    **Use Knowledge Files**Add a .devin/knowledge/ directory with architecture docs, coding standards, and API specs. Devin references these for context-aware code generation.
    **Snapshot Environments**Pre-configure Docker snapshots so Devin boots into a ready-to-code environment instantly, reducing setup time per session.
    **Chain Tasks**Use devin task create --depends-on TASK_ID to create dependent task chains for multi-step features.
    **Custom Playbooks**Create .devin/playbooks/ with reusable instruction sets like "new-endpoint.md" or "add-migration.md" for consistent outputs.
    **Session Pinning**Pin critical context in long sessions using @Devin pin: always run tests before committing to prevent context drift.
    ## Troubleshooting Common Issues
    IssueCauseSolution
    GitHub integration shows "Disconnected"OAuth token expired or permissions revokedReinstall the GitHub App from Settings → Integrations. Ensure org admin approval is granted.
    Devin cannot find repository filesRepository access not granted during GitHub App installGo to GitHub → Settings → Applications → Devin → Configure → add the missing repository.
    Slack notifications not arrivingChannel not mapped or bot removed from channelRe-invite @Devin to the Slack channel and verify channel mapping in Settings → Slack.
    Task stuck at "Setting up environment"Missing dependencies or broken setup commandsReview .devin/config.json setup_commands. Ensure all packages install cleanly in a fresh environment.
    PR created but tests fail in CIDevin's test environment differs from CIAlign .devin/config.json environment variables and Node/Python versions with your CI pipeline configuration.
    ## Frequently Asked Questions

    Can Devin work with private repositories and monorepos?

    Yes. Devin fully supports private repositories once you grant access through the GitHub App installation. For monorepos, configure the .devin/config.json at the repository root and specify the working directory for each task using --workdir packages/your-package in the CLI or by setting the path in the web interface. Devin understands workspace structures including npm workspaces, Yarn workspaces, and Turborepo setups.

    How does Devin handle API keys and secrets during coding sessions?

    Devin provides a Secrets Manager in your workspace settings where you can securely store environment variables and API keys. These are injected into the session environment at runtime and are never committed to code. You can also reference secrets in .devin/config.json using the syntax ${{ secrets.YOUR_SECRET_NAME }}. For additional security, Enterprise plans support integration with external vaults like HashiCorp Vault and AWS Secrets Manager.

    What happens if Devin gets stuck or produces incorrect code?

    Devin will proactively flag blockers and send a notification via Slack or the web interface asking for human input. You can intervene at any point during a session by typing instructions in the session chat. If the output is incorrect, you can ask Devin to revise its approach, revert changes, or take over manually. All sessions maintain a full activity log and you can roll back to any point in the session history. Setting clear requirements and providing knowledge files significantly reduces the likelihood of incorrect outputs.

    Explore More Tools

    Antigravity AI Content Pipeline Automation Guide: Google Docs to WordPress Publishing Workflow Guide Bolt.new Case Study: Marketing Agency Built 5 Client Dashboards in One Day Case Study Bolt.new Best Practices: Rapid Full-Stack App Generation from Natural Language Prompts Best Practices ChatGPT Advanced Data Analysis (Code Interpreter) Complete Guide: Upload, Analyze, Visualize Guide ChatGPT Custom GPTs Advanced Guide: Actions, API Integration, and Knowledge Base Configuration Guide ChatGPT Voice Mode Guide: Build Voice-First Customer Service and Internal Workflows Guide Claude API Production Chatbot Guide: System Prompt Architecture for Reliable AI Assistants Guide Claude Artifacts Best Practices: Create Interactive Dashboards, Documents, and Code Previews Best Practices Claude Code Hooks Guide: Automate Custom Workflows with Pre and Post Execution Hooks Guide Claude MCP Server Setup Guide: Build Custom Tool Integrations for Claude Code and Claude Desktop Guide Cursor Composer Complete Guide: Multi-File Editing, Inline Diffs, and Agent Mode Guide Cursor Case Study: Solo Founder Built a Next.js SaaS MVP in 2 Weeks with AI-Assisted Development Case Study Cursor Rules Advanced Guide: Project-Specific AI Configuration and Team Coding Standards Guide Devin AI Team Workflow Integration Best Practices: Slack, GitHub, and Code Review Automation Best Practices Devin Case Study: Automated Dependency Upgrade Across 500-Package Python Monorepo Case Study ElevenLabs Case Study: EdTech Startup Localized 200 Course Hours to 8 Languages in 6 Weeks Case Study ElevenLabs Multilingual Dubbing Guide: Automated Video Localization Workflow for Global Content Guide ElevenLabs Voice Design Complete Guide: Create Consistent Character Voices for Games, Podcasts, and Apps Guide Gemini 2.5 Pro vs Claude Sonnet 4 vs GPT-4o: AI Code Generation Comparison 2026 Comparison Gemini API Multimodal Developer Guide: Image, Video, and Document Analysis with Code Examples Guide