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

    Grok Best Practices for Academic Research and Literature Discovery: Leveraging X/Twitter for Scholarly Intelligence Best Practices Grok Best Practices for Content Strategy: Identify Trending Topics Before They Peak and Create Content That Captures Demand Best Practices Grok Case Study: How a DTC Beauty Brand Used Real-Time Social Listening to Save Their Product Launch Case Study Grok Case Study: How a Pharma Company Tracked Patient Sentiment During a Drug Launch and Caught a Safety Signal 48 Hours Before the FDA Case Study Grok Case Study: How a Disaster Relief Nonprofit Used Real-Time X/Twitter Monitoring to Coordinate Emergency Response 3x Faster Case Study Grok Case Study: How a Political Campaign Used X/Twitter Sentiment Analysis to Reshape Messaging and Win a Swing District Case Study How to Use Grok for Competitive Intelligence: Track Product Launches, Pricing Changes, and Market Positioning in Real Time How-To Grok vs Perplexity vs ChatGPT Search for Real-Time Information: Which AI Search Tool Is Most Accurate in 2026? Comparison How to Use Grok for Crisis Communication Monitoring: Detect, Assess, and Respond to PR Emergencies in Real Time How-To How to Use Grok for Product Improvement: Extract Customer Feedback Signals from X/Twitter That Your Support Team Misses How-To How to Use Grok for Conference Live Monitoring: Extract Event Insights and Identify Networking Opportunities in Real Time How-To How to Use Grok for Influencer Marketing: Discover, Vet, and Track Influencer Partnerships Using Real X/Twitter Data How-To How to Use Grok for Job Market Analysis: Track Industry Hiring Trends, Layoff Signals, and Salary Discussions on X/Twitter How-To How to Use Grok for Investor Relations: Track Earnings Sentiment, Analyst Reactions, and Shareholder Concerns in Real Time How-To How to Use Grok for Recruitment and Talent Intelligence: Identifying Hiring Signals from X/Twitter Data How-To How to Use Grok for Startup Fundraising Intelligence: Track Investor Sentiment, VC Activity, and Funding Trends on X/Twitter How-To How to Use Grok for Regulatory Compliance Monitoring: Real-Time Policy Tracking Across Industries How-To NotebookLM Best Practices for Financial Analysts: Due Diligence, Investment Research & Risk Factor Analysis Across SEC Filings Best Practices NotebookLM Best Practices for Teachers: Build Curriculum-Aligned Lesson Plans, Study Guides, and Assessment Materials from Your Own Resources Best Practices NotebookLM Case Study: How an Insurance Company Built a Claims Processing Training System That Cut Errors by 35% Case Study