Incident.io
Incident.io is an incident management platform that provides on-call scheduling, status pages, and incident response tooling. This connector syncs data from the Incident.io API.
Prerequisites
- An Incident.io account with API access. You can sign up at incident.io.
- An Incident.io API key. To create one, go to Settings → API keys in your Incident.io dashboard. When you create the key, choose which actions it can take. Keys can have account-level permissions, team-scoped permissions, or both. For this connector, the key needs read access to all resources you want to sync. To see which scope each stream needs, see API key scopes by stream. For example, the
escalationsstream requires the View data or Create and manage on-call resources permission. You can only grant permissions that you have yourself. To create or edit API keys, you need the Manage API keys permission. Incident.io shows the API key token only once, so store it somewhere safe.
For more information about the API, see the Incident.io API reference.
Set up the Incident.io source connector
- Click Sources and then click + New source.
- On the Set up the source page, select Incident.io from the Source type dropdown.
- Enter a name for the source.
- For API Key, enter the API key you created in your Incident.io dashboard.
- (Optional) Set Start Date, Time window, and Number of concurrent workers. See Configuration for details.
- Click Set up source.
Supported sync modes
The Incident.io source connector supports the following sync modes:
- Full Refresh
- Incremental (
incidents,alerts,escalations,actions,follow-ups, onupdated_at)
Incremental streams request updated_at in windows sized by the time_window option (default 30 days), resuming from the last synced timestamp with a small overlap so rows that commit slightly out of order are still captured. With the Append + Deduped destination sync mode those repeats are removed by primary key; with plain Append they are kept.
The start_date filter applies to these five streams in every sync mode, including Full Refresh. If you set a start_date later than the default, Full Refresh syncs of these streams don't return records last updated before that date.
Configuration
| Input | Type | Description | Default Value |
|---|---|---|---|
api_key | string | API Key. API key to use. Find it at https://app.incident.io/settings/api-keys | |
start_date | string | Start Date. Only sync records updated on or after this UTC date-time, in the format YYYY-MM-DDTHH:MM:SSZ, for the incidents, alerts, escalations, actions, and follow-ups streams. Applies to both Full Refresh and Incremental syncs. The default predates all incident.io data. Streams read per incident, such as incident_attachments, follow the same scope and only cover incidents updated on or after this date. | 2020-01-01T00:00:00Z |
time_window | string | Time window. Size of each date window requested from incident.io on incremental streams, in whole days as an ISO 8601 duration (for example P30D, P7D, P365D). The minimum is P1D because incidents and escalations filter by date. Smaller windows let more requests run in parallel on large accounts; larger windows mean fewer requests on small accounts. Defaults to P30D. | P30D |
num_workers | integer | Number of concurrent workers. Number of streams and partitions read in parallel, from 1 to 10. Higher values can speed up large syncs but use more of the incident.io rate limit (1,200 requests per minute per API key, 60 per minute on incidents). | 4 |
Streams
| Stream Name | Endpoint | Primary Key | Pagination | Supports Full Sync | Supports Incremental |
|---|---|---|---|---|---|
| actions | /v3/actions | id | DefaultPaginator | ✅ | ✅ |
| alert_attributes | /v2/alert_attributes | id | No pagination | ✅ | ❌ |
| alert_routes | /v3/alert_routes | id | DefaultPaginator | ✅ | ❌ |
| alert_sources | /v2/alert_sources | id | No pagination | ✅ | ❌ |
| alerts | /v2/alerts | id | DefaultPaginator | ✅ | ✅ |
| catalog_entries | /v3/catalog_entries | id | DefaultPaginator | ✅ | ❌ |
| catalog_resources | /v3/catalog_resources | type | No pagination | ✅ | ❌ |
| catalog_types | /v3/catalog_types | id | No pagination | ✅ | ❌ |
| custom_field_options | /v1/custom_field_options | id | DefaultPaginator | ✅ | ❌ |
| custom_fields | /v2/custom_fields | id | No pagination | ✅ | ❌ |
| escalation_paths | /v2/escalation_paths | id | DefaultPaginator | ✅ | ❌ |
| escalations | /v2/escalations | id | DefaultPaginator | ✅ | ✅ |
| follow-ups | /v3/follow_ups | id | DefaultPaginator | ✅ | ✅ |
| incident_alerts | /v2/incident_alerts | id | DefaultPaginator | ✅ | ❌ |
| incident_attachments | /v1/incident_attachments | id | No pagination | ✅ | ❌ |
| incident_roles | /v2/incident_roles | id | No pagination | ✅ | ❌ |
| incident_statuses | /v1/incident_statuses | id | No pagination | ✅ | ❌ |
| incident_timestamps | /v2/incident_timestamps | id | No pagination | ✅ | ❌ |
| incident_types | /v1/incident_types | id | No pagination | ✅ | ❌ |
| incident_updates | /v2/incident_updates | id | DefaultPaginator | ✅ | ❌ |
| incidents | /v2/incidents | id | DefaultPaginator | ✅ | ✅ |
| schedules | /v2/schedules | id | DefaultPaginator | ✅ | ❌ |
| severities | /v1/severities | id | No pagination | ✅ | ❌ |
| users | /v2/users | id | DefaultPaginator | ✅ | ❌ |
| workflows | /v2/workflows | id | No pagination | ✅ | ❌ |
The incidents stream includes incidents in every status category, including declined, canceled and merged, which the API leaves out by default.
By default, the Incident.io API only returns standard and retrospective incidents and the records that belong to them. The incidents, actions, and follow-ups streams request every incident mode: standard, retrospective, test, tutorial, and stream. The /v2/incidents endpoint doesn't document the stream mode, so incidents contains stream incidents only if Incident.io returns them. To exclude test, tutorial, or stream incidents, filter incidents on its mode field. For actions and follow-ups, join on incident_id to incidents, then filter on mode.
The users stream includes deactivated and not-yet-active users. Use the is_active field to filter them.
The incident_alerts stream links alerts to the incidents they're attached to. Each record contains the alert, the incident, and the alert_route_id of the alert route that created the link. Use it to join the alerts stream to the incidents stream. This stream reads every link in your account, so start_date doesn't apply to it.
The alert_sources stream doesn't include each alert source's secret_token. The connector removes this field before it emits records.
The connector reads three streams once for each record of a parent stream:
catalog_entriesreads the entries of each catalog type returned bycatalog_types.custom_field_optionsreads the options of each custom field returned bycustom_fields.incident_attachmentsreads the attachments of each incident returned byincidents, so it only covers incidents last updated on or afterstart_date.
Limitations and troubleshooting
The Incident.io API allows 1,200 requests per minute per API key, and the incidents endpoint has a lower limit of 60 requests per minute. The connector paces itself within both limits and, if the API still returns a rate-limit response, waits for the interval the API asks for before retrying.
- Invalid API key (HTTP 401): The sync fails if the API key is invalid or has been revoked. Create a new key in Incident.io under Settings → API keys and update the source configuration.
- Missing permission (HTTP 403): The sync fails with Incident.io's error message, which names the missing permission. Edit the API key in Incident.io under Settings → API keys to add that permission, or deselect the affected stream in your connection. You don't need to create a new key or update the source configuration.
- Transient errors (HTTP 408 and 5xx): The connector retries these requests automatically.
- Slow syncs with
incident_attachments: On every sync, this stream reads theincidentsendpoint fromstart_date, which allows only 60 requests per minute, and then sends one request per incident. This happens even if you sync theincidentsstream incrementally. On accounts with many incidents, this can add significant time to each sync. If you don't need attachments, deselect this stream. If someone deletes an incident during a sync, the connector skips its attachments instead of failing.
API key scopes by stream
If a sync fails with HTTP 403, use this table to find the streams that need the missing scope. The scopes come from the Incident.io API reference. The API reference doesn't list a scope for the incident_timestamps endpoint.
| Scope | Streams |
|---|---|
actions.view | actions, follow-ups |
alert_routes.view | alert_routes |
alert_schema.view | alert_attributes |
alert_sources.view | alert_sources |
alerts.view | alerts, incident_alerts |
attachments.view | incident_attachments |
catalog_entries.view | catalog_entries |
catalog_types.view | catalog_resources, catalog_types |
custom_fields.view | custom_field_options, custom_fields |
escalation_paths.view | escalation_paths |
escalations.view | escalations |
incident_roles.view | incident_roles |
incident_statuses.view | incident_statuses |
incident_types.view | incident_types |
incidents.view | incident_updates, incidents |
schedules.view | schedules |
severities.view | severities |
users.view | users |
workflows.view | workflows |
IP allow list
If you use Airbyte Cloud and your organization restricts access to specific IPs, add the Airbyte Cloud IP addresses to your allow list.
Reference
Config fields reference
Changelog
Expand to review
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 1.0.1 | 2026-10-14 | 88962 | Declare filter_by, fixed_filter and helptext_catalog_attribute_id on custom fields; update the base image |
| 1.0.0 | 2026-10-14 | 88437 | Type timestamp fields, move catalog_types and alert_routes to /v3, sync all incident modes. See the migration guide |
| 0.4.2 | 2026-10-13 | 88435 | Declare external_issue_reference on incidents and holidays_public_config on schedules |
| 0.4.1 | 2026-10-13 | 88663 | Update dependencies |
| 0.4.0 | 2026-10-09 | 88418 | Add five alerting and escalation path streams |
| 0.3.0 | 2026-10-09 | 88416 | Add five incident and catalog streams |
| 0.2.0 | 2026-10-08 | 88150 | Migrate actions and follow-ups to /v3; add incremental sync, rate limiting, clearer errors, time_window and num_workers options, and sync incidents in every status category |
| 0.1.42 | 2026-10-06 | 87912 | Update dependencies |
| 0.1.41 | 2026-09-29 | 87212 | Update dependencies |
| 0.1.40 | 2026-09-22 | 86668 | Update dependencies |
| 0.1.39 | 2026-09-15 | 86108 | Update dependencies |
| 0.1.38 | 2026-09-08 | 85534 | Update dependencies |
| 0.1.37 | 2026-08-18 | 84609 | Update dependencies |
| 0.1.36 | 2026-08-11 | 83968 | Update dependencies |
| 0.1.35 | 2026-08-04 | 83515 | Update dependencies |
| 0.1.34 | 2026-07-28 | 82950 | Update dependencies |
| 0.1.33 | 2026-07-21 | 82451 | Update dependencies |
| 0.1.32 | 2026-07-14 | 81861 | Update dependencies |
| 0.1.31 | 2026-06-30 | 81093 | Update dependencies |
| 0.1.30 | 2026-06-23 | 80512 | Update dependencies |
| 0.1.29 | 2026-06-16 | 79887 | Update dependencies |
| 0.1.28 | 2026-06-09 | 79368 | Update dependencies |
| 0.1.27 | 2026-06-03 | 78426 | Add external_issue_reference field to the follow-ups stream |
| 0.1.26 | 2026-06-02 | 78742 | Update dependencies |
| 0.1.25 | 2026-04-28 | 77315 | Update dependencies |
| 0.1.24 | 2026-04-21 | 76661 | Update dependencies |
| 0.1.23 | 2026-03-17 | 75081 | Update dependencies |
| 0.1.22 | 2026-03-10 | 74503 | Update dependencies |
| 0.1.21 | 2026-02-26 | 74072 | Migrate to incident_roles v2 endpoint and add escalations stream |
| 0.1.20 | 2026-02-24 | 73520 | Update dependencies |
| 0.1.19 | 2026-02-10 | 73089 | Update dependencies |
| 0.1.18 | 2026-02-03 | 72760 | Update dependencies |
| 0.1.17 | 2026-01-20 | 71981 | Update dependencies |
| 0.1.16 | 2026-01-14 | 71413 | Update dependencies |
| 0.1.15 | 2025-12-18 | 70511 | Update dependencies |
| 0.1.14 | 2025-11-25 | 70182 | Update dependencies |
| 0.1.13 | 2025-11-18 | 69504 | Update dependencies |
| 0.1.12 | 2025-10-29 | 68778 | Update dependencies |
| 0.1.11 | 2025-10-21 | 68531 | Update dependencies |
| 0.1.10 | 2025-10-14 | 67973 | Update dependencies |
| 0.1.9 | 2025-10-07 | 67363 | Update dependencies |
| 0.1.8 | 2025-09-30 | 66802 | Update dependencies |
| 0.1.7 | 2025-09-09 | 66041 | Update dependencies |
| 0.1.6 | 2025-09-05 | 65966 | Update to CDK v7.0.0 |
| 0.1.5 | 2025-08-23 | 65332 | Update dependencies |
| 0.1.4 | 2025-08-09 | 64591 | Update dependencies |
| 0.1.3 | 2025-08-02 | 64299 | Update dependencies |
| 0.1.2 | 2025-07-26 | 63825 | Update dependencies |
| 0.1.1 | 2025-07-19 | 63480 | Update dependencies |
| 0.1.0 | 2025-07-15 | 63304 | Add new stream alerts |
| 0.0.29 | 2025-07-12 | 63128 | Update dependencies |
| 0.0.28 | 2025-07-05 | 62591 | Update dependencies |
| 0.0.27 | 2025-06-28 | 62168 | Update dependencies |
| 0.0.26 | 2025-06-21 | 61830 | Update dependencies |
| 0.0.25 | 2025-06-14 | 61149 | Update dependencies |
| 0.0.24 | 2025-05-24 | 60668 | Update dependencies |
| 0.0.23 | 2025-05-10 | 59803 | Update dependencies |
| 0.0.22 | 2025-05-03 | 59231 | Update dependencies |
| 0.0.21 | 2025-04-26 | 58787 | Update dependencies |
| 0.0.20 | 2025-04-19 | 58204 | Update dependencies |
| 0.0.19 | 2025-04-12 | 57724 | Update dependencies |
| 0.0.18 | 2025-04-05 | 57094 | Update dependencies |
| 0.0.17 | 2025-03-29 | 56650 | Update dependencies |
| 0.0.16 | 2025-03-22 | 56006 | Update dependencies |
| 0.0.15 | 2025-03-08 | 55475 | Update dependencies |
| 0.0.14 | 2025-03-01 | 54780 | Update dependencies |
| 0.0.13 | 2025-02-22 | 54316 | Update dependencies |
| 0.0.12 | 2025-02-15 | 53844 | Update dependencies |
| 0.0.11 | 2025-02-08 | 53299 | Update dependencies |
| 0.0.10 | 2025-02-01 | 52718 | Update dependencies |
| 0.0.9 | 2025-01-25 | 52221 | Update dependencies |
| 0.0.8 | 2025-01-18 | 51782 | Update dependencies |
| 0.0.7 | 2025-01-11 | 51186 | Update dependencies |
| 0.0.6 | 2024-12-28 | 50648 | Update dependencies |
| 0.0.5 | 2024-12-21 | 50137 | Update dependencies |
| 0.0.4 | 2024-12-14 | 49218 | Update dependencies |
| 0.0.3 | 2024-12-11 | 48989 | Use a rootless Docker image (requires Airbyte 0.64 or later) |
| 0.0.2 | 2024-11-04 | 47842 | Update dependencies |
| 0.0.1 | 2024-10-03 | Initial release by @aazam-gh via Connector Builder |