Skip to content

Integrations

Commits in from anywhere. Logs out to anywhere.

Every connector below is one the product can talk to today. Sources contribute to a day; destinations receive the finished log; and an API key covers the tool we haven't written a connector for yet.

source

GitHub

Commits, pull requests and reviews.

commitsPRsreviewsissues
Auth
OAuth, or a personal access token
source

GitLab

Commits and merge requests, cloud or self-managed.

commitsmerge requests
Auth
Personal access token, cloud or self-managed
source

Push anything in

An API key so any tool can log work — CI, on-call, a time tracker.

activities from any tool
Auth
API key, shown once
source

Bitbucket

Pull commits and pull requests from a Bitbucket Cloud workspace.

commitsactivities
Auth
Username + App password + Workspace
Get a token
source

Azure DevOps

Commits and work items from an Azure DevOps project.

commitstasksactivities
Auth
Organization + Project + Personal access token
Get a token
source

Jira

Import issues assigned to you; commits mentioning the key link automatically.

tasksactivitieswrites back · opt-in
Auth
Site URL + Account email + API token
Get a token
source

Linear

Import your assigned issues so commits can be matched against them.

tasksactivitieswrites back · opt-in
Auth
Personal API key
Get a token
source

GitHub Issues

Import issues assigned to you, for teams whose backlog lives in the repo.

tasksactivities
Auth
Personal access token
Get a token
source

Google Calendar

Count meetings as work, so a day of calls isn't logged as an idle day.

activities
Auth
Access token + Calendar
Get a token
source

Outlook Calendar

Count Microsoft 365 meetings as work, the same as the Google connector.

activities
Auth
Graph access token
Get a token
source

Sentry

Log the incidents you resolved — days spent firefighting stop reading as idle.

activities
Auth
Auth token + Organization slug + Host
Get a token
destination

Slack

Post each day's log to a channel.

daily log post
Auth
Incoming webhook URL
destination

Discord

Post each day's log to a channel.

daily log post
Auth
Webhook URL
destination

Microsoft Teams

Post each day's log to a channel.

daily log post
Auth
Incoming webhook URL
destination

Custom webhook

POST the log as JSON to any endpoint.

JSON per entry
Auth
Any https endpoint
source · sink

Google

Sign-in that unlocks Sheets and Calendar.

SheetsCalendar
Auth
Google sign-in
destination

Google Sheets

Write one row per day to a spreadsheet.

one row per day
Auth
Google sign-in with Sheets scope
destination

SQL Server

Mirror entries into your own database.

mirrored entries
Auth
Host, database, user, password
destination

Notion

Mirror each finished entry into a Notion database.

Auth
Internal integration token + Database
Get a token

Not on the list?

Push anything in.

An API key and one documented POST means a CI job, an on-call rotation, a time tracker or an internal script can log work without waiting for a connector. Activities land in the same table the in-app logger writes, so they feed the day's summary with no other change. Send an externalId and retries update rather than duplicate.

Read the API docs
curl -X POST https://devlog.app/api/ingest \
  -H "Authorization: Bearer dvl_…" \
  -H "Content-Type: application/json" \
  -d '{"activities":[{
        "date":"2026-09-22",
        "kind":"support",
        "title":"Paged for the checkout outage",
        "hours":2.5,
        "externalId":"pd-incident-8812"
      }]}'

Spend tonight shipping. Not writing standup notes.

Connect GitHub, pick a model, and tomorrow morning the log is already written — waiting for you to read it rather than write it.