Connect Devin to LinearB
Overview
Connect Devin to LinearB to collect daily, per-user usage and adoption data from Devin Desktop (formerly Windsurf) and the Devin CLI.
In AI Tools, the integration is listed as Devin (Windsurf). In AI Analytics, its data appears as Devin.
Choose the connection type that matches where your Devin account is managed:
| Connection type | Account managed in | Key | Required permission |
|---|---|---|---|
| Analytics API | windsurf.com | Windsurf service key | Analytics Read |
| Devin API | app.devin.ai | Devin service user key (starts with cog_) |
Use Local Analytics API |
Data Provided by Devin
Depending on the data returned by Devin, the integration can provide:
- Active users
- Prompts and sessions
- Lines added and removed by the agent
- Usage (ACUs or credits) by model
- Estimated consumption by model
Adoption and lines data appears in AI Analytics. Model and estimated-consumption data is available through Metrics Builder.
Data Availability and Collection Cadence
- LinearB can backfill up to 90 days of historical Devin usage during the initial connection, subject to Devin’s data availability.
- After the initial connection, Devin usage data is updated daily.
Before You Begin
Verify that you have:
- Access to AI Tools settings in LinearB.
- Admin access in windsurf.com or app.devin.ai.
- Individual-level analytics turned on in your Windsurf team settings or Devin settings. Without it, LinearB can’t attribute usage to users and the connection fails.
Create a Key
Analytics API (windsurf.com)
- Sign in to windsurf.com as a team admin and open your team settings.
- Go to the Service Keys section.
- Create a service key with the Analytics Read permission.
- Copy and securely store the key.
Devin API (app.devin.ai)
- Sign in to app.devin.ai as an admin.
- Go to Settings → Devin API and open the Service users tab.
- Create a service user with a role that includes the Use Local Analytics API permission. The built-in admin role includes it.
-
Copy the service user key (it starts with
cog_) and store it securely.
For more details, see Devin’s Analytics API documentation.
Connect Devin in LinearB
- Go to Settings → Company Settings → AI Tools → Integrations.
- Click Add New.
- Select Devin (Windsurf).
- Click Continue.
- Select Analytics API or Devin API.
- Click Continue.
- Paste the key into the Token field.
- Click Connect.
LinearB validates the key. When validation succeeds, the integration appears in the Connected list.
Verify the Connection
- Open Settings → Company Settings → AI Tools → Integrations.
- Select Connected.
- Select Devin (Windsurf).
- Confirm that the integration status is Connected.
- Allow time for the initial historical import and daily processing.
- Open AI Analytics and confirm that Devin adoption data appears.
Edit the Devin Integration
Use Edit mode to replace the key without disconnecting the integration. Previously collected data is preserved.
- Open Settings → Company Settings → AI Tools → Integrations.
- Select Connected.
- Select Devin (Windsurf).
- Under Main Settings, click Edit.
- Update the key in the Token field.
- Click Save changes.
To disconnect or reconnect the integration, see Manage AI tool integrations.
Troubleshooting
| Issue | What to check |
|---|---|
| Invalid key, or the key is missing its analytics permission | The key is active and has Analytics Read (windsurf.com) or Use Local Analytics API (app.devin.ai). |
| Individual-level analytics is not enabled | An admin turns it on in Windsurf team settings or Devin settings, then reconnects. |
| Rate limit exceeded | Wait an hour, then try again. |
| No data appears | Confirm that you chose the connection type that matches your account, and that users were active in Devin Desktop or the Devin CLI in the last 90 days. |
Known Limitations
- Only Devin Desktop and Devin CLI usage is collected. Devin cloud sessions are not included.
- Data is collected daily, not in real time.
- Devin’s Analytics API allows 10 requests per hour per team.
- Available metrics depend on the data returned by Devin.
Related Articles
How did we do?
Connect Cursor to LinearB
Connect GitHub Copilot Enterprise