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.
Connected in the admin today
GitHub
AvailableCode, commits and pull requests from the repositories you choose. Pipelines are discovered from this code, and fixes open as draft pull requests.
Source controlGoogle Cloud Logging
AvailableLog entries from named log sources you define as Cloud Logging filters, read with the read-only logging.read scope.
LogsJira Cloud
AvailableSearch and link an issue when you open an incident. Its description, comments and attachments are imported as evidence.
TicketsWindows agent
Available · optionalOptional. Lists directories, reads files and reads the Windows Event Log on hosts where you install it. No SQL.
Runtime evidence| Source | How it connects | Access | Used for |
|---|---|---|---|
| GitHub | GitHub App, installed on an organization or account | Read the repositories you choose; open draft pull requests on request | Pipeline discovery, code and commit evidence, fixes |
| Google Cloud Logging | Google sign-in, once per GCP project | Read-only logging.read, inside named log sources | Step-by-step log reading, baselines, cited log lines |
| Jira Cloud | Atlassian sign-in | Read-only OAuth | Linking a ticket; its text and attachments become evidence |
| Windows agent (optional) | MIT-licensed Windows x64 service, outbound polling | List a directory, read a file, read the Windows Event Log. No SQL | Logs and files on on-prem Windows hosts |
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 | Detail |
|---|---|
| Code | File contents at a commit, cited by path and line range |
| Commits | History and diffs — how a change on Tuesday is tied to a symptom that started on Tuesday |
| Pull requests | Titles, descriptions and the changes they merged |
| Pipelines | Discovered from the code: triggers, steps, sources and destinations, including stored procedures kept in the repository |
| Draft pull requests | Opened 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.
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 | Detail |
|---|---|
| Log entries | Entries matching a named source's filter, for the window under investigation |
| Baseline runs | Entries from successful runs up to 30 days back, to compare with the failing run |
| Citations | Each 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.
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 | Detail |
|---|---|
| Issue search | Find an issue by key, by text, or by pasting its link while opening an incident |
| Description and comments | Imported as an immutable snapshot when the issue is linked |
| Attachments | Imported 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.
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 | Detail |
|---|---|
| List a directory | File names, sizes and times in the directory a task names |
| Read a file | A byte range of a file, so large logs are read in bounded slices |
| Read the Windows Event Log | Entries 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.
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
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
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 writingfact_transactions— citing the file and line range behind the match. It starts at the staging step,stg_transactions. - 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
GitHub again: the change
Commit
9f3c2e1, Tuesday's release, replaced the hard-coded list('USD','GBP','EUR')with a parameter@Currenciesdefaulting 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
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
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.
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.
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 the definition lives | Platforms | How it would be read |
|---|---|---|
| Definition lives in a service | Glue, Data Factory, Databricks, Fivetran | Through the service API — there is no file |
| Definition lives in a database | SQL Agent, SSIS, Oracle, Informatica | From catalog and repository tables |
| Definition is in git, behaviour is not | Airflow, dbt | Connections, variables and artefacts read separately |
| Definition is the code itself | Custom services, scheduled jobs | Code and logs today; config and write activity planned |
Databases
SQL Server
PlannedWill read catalog metadata, procedure bodies and write activity — the definitions git never sees.
ReadPostgreSQL
PlannedWill read pg_stat_user_tables for write activity, pg_proc for function bodies, pg_stat_activity for blocking.
ReadMySQL
PlannedWill read performance_schema for per-table write counts and information_schema for routines and structure.
ReadOracle Database
PlannedWill read ALL_SOURCE for PL/SQL bodies, DBA_TAB_MODIFICATIONS for writes and DBA_SCHEDULER_JOBS for schedules.
ReadSchedulers
SQL Server Agent
PlannedJob steps are rows in msdb, not files in git. Will read sysjobs, sysjobsteps and sysjobhistory.
ReadSSIS
PlannedSSISDB holds executions, per-component row counts and the parameter values actually used.
Readcron & systemd timers
PlannedThe scheduler with no database. Will read crontabs, timer units and journal history.
ReadOrchestrators
Apache Airflow
PlannedThe metadata database holds connections, variables, pools and manual state — none of it in git.
Readdbt
Plannedmanifest.json is the model graph; run_results.json is what actually happened. Both are artefacts, not APIs.
ReadDatabricks
PlannedWill read the Jobs API for run history and task graphs, and system tables for lineage and query history.
ReadCloud ETL
AWS Glue
PlannedFor visual jobs there is no file. The DAG is service state, read through GetJob.
ReadAzure Data Factory
PlannedPipeline JSON lives in the factory unless git integration is enabled — and live mode is the default.
ReadFivetran
PlannedWill read sync history and schema change events via API, plus the _fivetran_synced column in every target.
ReadInformatica PowerCenter
PlannedThe repository database holds mappings, sessions and run statistics — including per-target row counts.
ReadWarehouses
Snowflake
PlannedACCOUNT_USAGE gives a year of query, copy and task history — including rows loaded and rows rejected.
ReadBigQuery
PlannedINFORMATION_SCHEMA.JOBS gives every statement, its referenced tables and its output row count.
ReadAmazon Redshift
PlannedSTL_LOAD_ERRORS is the reject table you already have and probably never query.
ReadClickHouse
Plannedsystem.query_log carries read_rows and written_rows per statement; system.parts carries real write activity.
ReadQueues and streams
Apache Kafka
PlannedConsumer lag is the leading indicator. Will read group offsets, topic ends and partition assignment.
ReadRabbitMQ
PlannedQueue depth, consumer count and dead-letter queues — the last of which is usually the finding.
ReadCustom services
Partly todayNo API and no metadata database — code, logs and the tables they write to. Code and logs work today.
ReadWhat 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.