Integrations

Four sources today, the rest planned

Decim reads code from GitHub, logs from Google Cloud Logging and tickets from Jira Cloud, with an optional Windows agent for files and Event Logs on on-prem hosts. Each is read-only, apart from opening draft pull requests when you ask. The database, scheduler and cloud pages further down are planned.

Sources of evidence, not pipes

An integration here does not copy your data into another system. It gives an investigation something to read and cite.

A connector in most products is a pipe: it extracts data and loads it somewhere else. Nothing on this page works that way. Each source is read during an investigation, inside limits you set — the repositories you chose, the log filters you defined, the ticket you linked, the directory a task names — and what an investigation reads is cited back to you with a pointer precise enough to check: a file and line range, a log record ID, a byte offset.

The sources do different jobs. GitHub is how Decim learns what your pipelines are, and where most fixes land. Logs — from Cloud Logging, or from a Windows host through the agent — are how it learns what a run actually did. Jira carries the symptom in the words of the person who saw it. What none of them reach, typically a database, Decim asks for: it writes a read-only check for someone on your team to run, and the result goes back into the investigation.

Evidence is processed by a third-party language-model provider, and there is no redaction today. The full posture — retention, encryption of OAuth grants, tenant isolation — is on the security page.

Available now

Connected in the admin today

The current sources at a glance
Source How it connects Access Used for
GitHubGitHub App, installed on an organization or accountRead the repositories you choose; open draft pull requests on requestPipeline discovery, code and commit evidence, fixes
Google Cloud LoggingGoogle sign-in, once per GCP projectRead-only logging.read, inside named log sourcesStep-by-step log reading, baselines, cited log lines
Jira CloudAtlassian sign-inRead-only OAuthLinking a ticket; its text and attachments become evidence
Windows agent (optional)MIT-licensed Windows x64 service, outbound pollingList a directory, read a file, read the Windows Event Log. No SQLLogs and files on on-prem Windows hosts
GitHub

GitHub

How it connects

Install the Decim GitHub App on an organization or account, then choose which repositories this workspace uses. Decim reads only those repositories. The one write it can make is opening a draft pull request, and only when a person clicks to open one. GitHub is the only source-control provider today; GitLab, Azure Repos and Bitbucket are planned.

What Decim reads from GitHub
What Detail
CodeFile contents at a commit, cited by path and line range
CommitsHistory and diffs — how a change on Tuesday is tied to a symptom that started on Tuesday
Pull requestsTitles, descriptions and the changes they merged
PipelinesDiscovered from the code: triggers, steps, sources and destinations, including stored procedures kept in the repository
Draft pull requestsOpened on request for a solution that includes a patch; never merged automatically

How an investigation uses it

GitHub is where Decim learns what your pipelines are. Discovery reads a selected repository and finds each pipeline by its trigger — a schedule, cron expression or Hangfire job, a queue consumer, a file arrival, CDC, or a batch command — then builds a step graph of sources, transformations and destinations with the code lines behind every step. Each connection is marked direct or inferred, and the places where things tend to break are flagged as points of interest. It reads code in any language; there are no format-specific parsers.

During an investigation the same repository is evidence. The locate phase cites the file and line range that matched the incident to a pipeline. Hypotheses cite the code involved. A commit that changed a filter on the day the symptom started is cited by hash, with its diff. When a solution includes a repository patch, Decim checks that it applies cleanly and, when you ask, opens it as a draft pull request for your normal review.

Limits

  • Discovery knows only what is in the repository. A job defined only inside a scheduler or a cloud console is not seen yet.
  • Patches are checked to apply cleanly. Decim never builds, runs or merges them.
  • GitHub only. Other source-control hosts are planned.

Connecting GitHub

Google Cloud Logging

Google Cloud Logging

How it connects

Sign in with Google once per GCP project and grant the read-only logging.read scope. Then define named log sources: each one is a Cloud Logging filter with a name a person recognises, such as “Ledger load jobs”. Investigations read only inside those filters. Decim cannot write logs, delete them or change log routing.

What Decim reads from Google Cloud Logging
What Detail
Log entriesEntries matching a named source's filter, for the window under investigation
Baseline runsEntries from successful runs up to 30 days back, to compare with the failing run
CitationsEach cited entry is stored with its record ID, the excerpt and a hash

How an investigation uses it

In the read-the-logs phase, Decim walks the suspected steps most-suspicious first and pulls each step's entries from the log sources that cover it. Collection is bounded — a limited number of requests, bytes and model calls — so a broad filter cannot turn into an open-ended crawl.

Each step ends in one of three ways: looked fine, found something, or an honest gap such as no logs or not enough logs. A finding cites the exact entries and compares them with the same step on successful runs. In the sample incident the failing night logs rows loaded for USD and GBP and no EUR line at all, where the night before logged Loaded 40903 rows for EUR.

Limits

  • Reads only inside the filters you define. A step whose logs fall outside every named source ends as a gap, not a guess.
  • Google Cloud only today. AWS CloudWatch Logs and Azure Monitor log reading are planned.
  • Only what was logged can be cited. A step that logs nothing about row counts cannot be reconciled from its logs.

Connecting Cloud Logging

Jira Cloud

Jira Cloud

How it connects

Connect a Jira Cloud site with Atlassian sign-in and grant read-only OAuth access. Decim searches issues so you can link one to an incident; it never comments on, transitions or edits an issue.

What Decim reads from Jira Cloud
What Detail
Issue searchFind an issue by key, by text, or by pasting its link while opening an incident
Description and commentsImported as an immutable snapshot when the issue is linked
AttachmentsImported with the snapshot and treated like any file you upload

How an investigation uses it

A ticket often holds the clearest description of the symptom, written by the person who saw it: “EUR totals missing from the daily finance dashboard since Tuesday.” Linking it imports the description, comments and attachments as a snapshot that does not change if the ticket is edited later, so the record cites exactly what the investigation read.

The locate phase ranks discovered pipelines against both the incident description and the ticket. Screenshots and exports attached to the ticket sit beside the logs and code as evidence.

Limits

  • Jira Cloud only today. ServiceNow and Azure Boards are planned.
  • The snapshot is taken when the issue is linked; it is a record of that moment, not a live mirror.
  • Read-only. Decim does not post the diagnosis back to the ticket.

Connecting Jira

Windows agent

Windows agent

How it connects

An MIT-licensed service for Windows x64 that you install on a host inside your network and register with a one-time key. It connects outbound only and polls for work; nothing connects in to it. It is one optional collection path, for logs and files that live on on-prem hosts — Decim works without it.

What Decim reads from Windows agent
What Detail
List a directoryFile names, sizes and times in the directory a task names
Read a fileA byte range of a file, so large logs are read in bounded slices
Read the Windows Event LogEntries from a named log for a time window

How an investigation uses it

When a step's logs live on a Windows host rather than in Cloud Logging, the investigation sends the agent a task — list this directory, read these bytes of this file, read this Event Log for this window — and the result comes back as evidence. Cited lines carry the byte offsets they were read from, the excerpt and a hash, so anyone can open the same file and check them.

Those three tasks are the whole surface. The agent does not run SQL, does not connect to databases and does not redact. Raw payloads it returns are purged three days after the incident closes; the excerpts an investigation cites are kept with the record.

Limits

  • Windows x64 only. A Linux agent is planned.
  • No SQL and no database connections. Database evidence comes from checks your team runs.
  • No redaction today. What the agent returns is processed like any other evidence.

The agent in detail

Together

One incident, every source

How the sources combine in practice, using the sample incident from Decim's demo workspace. It is sample data, not a customer case.

  1. 1

    The report and the ticket

    Someone opens an incident: “Transaction volume dropped by 38% in the nightly ledger load. Finance says the EUR totals have been missing since Tuesday.” They link Jira issue FIN-2291. Its description, comments and attachments are imported as a snapshot.

  2. 2

    GitHub says where to look

    Decim has already discovered the pipelines in github.com/acme/ledger-etl. It ranks them against the report and the ticket and matches Nightly ledger load at 91% — the only pipeline writing fact_transactions — citing the file and line range behind the match. It starts at the staging step, stg_transactions.

  3. 3

    Cloud Logging says what happened

    The step's entries come from a named log source, “Ledger load jobs”. The failing night logs rows loaded for USD and GBP and Step completed successfully (0 errors), with no EUR line. The previous night logged Loaded 40903 rows for EUR. Both are cited with record ID, excerpt and hash. Had the logs lived on a Windows host, the agent would have read them instead.

    ledger-nightly / step 3 — cited lines, failing night
    2026-10-13 02:14:09 usp_load_transactions Loaded 57911 rows for USD
    2026-10-13 02:14:09 usp_load_transactions Loaded 12206 rows for GBP
    2026-10-13 02:14:10 usp_load_transactions Step completed successfully (0 errors)
  4. 4

    GitHub again: the change

    Commit 9f3c2e1, Tuesday's release, replaced the hard-coded list ('USD','GBP','EUR') with a parameter @Currencies defaulting to 'USD,GBP'. The job calls the procedure without the parameter, so every EUR row is filtered out while the step still reports success.

  5. 5

    A check settles it

    The deciding count is in the database, which Decim does not connect to. It writes a read-only query — row counts by currency before and after Tuesday — validated against a read-only allowlist. The team runs it and pastes the result: EUR drops to zero on Tuesday while USD and GBP hold steady. The hypothesis is confirmed at 92%.

  6. 6

    GitHub one last time: the fix

    The solution pairs a patch restoring 'USD,GBP,EUR' with an SQL repair for the affected nights. One click opens draft pull request #482, “Restore EUR in the ledger currency filter”. Nothing is merged automatically.

Preview

Alert intake is a preview

Today an incident starts from a plain-language description, optionally with an affected period, a scope (repository, pipeline or step), a linked Jira ticket and attached files. Opening incidents directly from an alert — Datadog, PagerDuty, Amazon CloudWatch or a custom webhook — is in preview, shown in the admin with sample data and clearly labelled as such. It is not generally available, and none of these tools is read as an evidence source.

The intent is the same division of labour as today, with less copying: your monitoring decides that something is wrong, and Decim starts from that alert to find out why.

Planned

The planned catalog, documented in full

None of the integrations below can be connected today. Each page says what it will read, the grants it is designed around, the gotcha that trips people up, and what works for that platform right now.

Pipeline definitions live in different places on different platforms, which is why one integration per platform is needed and why a repository alone is not always enough. The pages are worth reading before an incident either way: the views, columns and retention limits they name are the ones to know when you are investigating by hand.

Where pipeline definitions live, and how they would be read
Where the definition lives Platforms How it would be read
Definition lives in a serviceGlue, Data Factory, Databricks, FivetranThrough the service API — there is no file
Definition lives in a databaseSQL Agent, SSIS, Oracle, InformaticaFrom catalog and repository tables
Definition is in git, behaviour is notAirflow, dbtConnections, variables and artefacts read separately
Definition is the code itselfCustom services, scheduled jobsCode and logs today; config and write activity planned
Databases

Databases

Schedulers

Schedulers

Orchestrators

Orchestrators

Cloud ETL

Cloud ETL

Warehouses

Warehouses

Queues and streams

Queues and streams

What every source has in common

  • Read-only. The one write anywhere is opening a draft pull request on GitHub, when a person asks for one. Nothing is merged automatically.
  • Scoped and bounded. Investigations read inside the repositories, log sources and tasks you defined, with limits on requests, bytes and model calls.
  • Cited. Every finding points at the evidence behind it: a file and line range, a commit, a log record ID or byte offset, an excerpt and a hash.
  • Retained briefly. OAuth grants are encrypted at rest. Raw agent payloads are purged three days after an incident closes and attachments after seven; cited excerpts stay with the record.
  • A stated limit. Every source above, and every planned page, says what it cannot tell you.

Step-by-step setup for each source is in the documentation.

Get started

Bring us a pipeline that broke last week

The fastest way to evaluate this is a real incident you already know the answer to. If Decim gets it wrong, that is a far more useful demo than one where it doesn't.