Connecting to Rootly
Using API Key Authentication
To authenticate using an API key, you will need to obtain your API key from your Rootly account settings.
To get your API key:
- Log in to your Rootly account
- Navigate to Settings > API & Integrations
- Click on "API Tokens"
- Copy the generated token
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your Rootly API token.
Example Connection String
Profile=Rootly.apip;Authscheme=APIKey;ProfileSettings="APIKey=your_apikey";
Available Tables
The Rootly API Profile provides access to comprehensive incident management, alerting, and operational data across 59 specialized tables:
- Incidents - Access incident records with details, status, and timeline information.
- IncidentEvents - Query incident event data and activity logs.
- IncidentRoles - Retrieve incident role assignments and responsibilities.
- IncidentActionItems - Access action items created during incident response.
- IncidentTypes - Query incident type classifications and categories.
- IncidentSubStatuses - Access detailed incident status information.
- IncidentStatusPageEvents - Retrieve status page event updates for incidents.
- IncidentFeedbacks - Query feedback and ratings for incident handling.
- IncidentRetrospectives - Access post-incident review and analysis data.
- Alerts - Query alert records and notification data.
- AlertEvents - Access alert event history and activity logs.
- AlertSources - Retrieve alert source configuration and metadata.
- AlertUrgencies - Query alert urgency levels and priorities.
- AlertRoutes - Access alert routing configuration and rules.
- AlertRoutingRules - Query specific alert routing rule definitions.
- AlertGroups - Retrieve alert grouping and aggregation data.
- Schedules - Access on-call schedule information and configuration.
- ScheduleRotations - Query schedule rotation patterns and timing.
- ScheduleRotationUsers - Retrieve user assignments in schedule rotations.
- ScheduleRotationActiveDays - Access active day configurations for rotations.
- Shifts - Query individual shift assignments and details.
- OnCallRoles - Access on-call role definitions and permissions.
- OverrideShifts - Retrieve shift override and substitution data.
- EscalationPolicies - Query escalation policy configurations.
- EscalationPaths - Access escalation path definitions and routing.
- EscalationLevels - Retrieve escalation level settings and timeouts.
- Users - Query user account information and profiles.
- Teams - Access team organization and membership data.
- Roles - Retrieve role definitions and permission sets.
- Services - Query service catalog and dependency information.
- Functionalities - Access functionality and capability definitions.
- Environments - Retrieve environment configuration and settings.
- Workflows - Query workflow definitions and automation rules.
- WorkflowRuns - Access workflow execution history and results.
- WorkflowTasks - Retrieve individual workflow task details.
- WorkflowGroups - Query workflow grouping and organization data.
- Playbooks - Access playbook definitions and response procedures.
- PlaybookTasks - Retrieve playbook task specifications and steps.
- Secrets - Query secret management and configuration data.
- Heartbeats - Access heartbeat monitoring and health check data.
- Causes - Retrieve incident cause analysis and classification.
- StatusPageTemplates - Query status page template configurations.
- StatusPages - Access status page content and publication data.
- Dashboards - Retrieve dashboard configuration and layout information.
- DashboardPanels - Query individual dashboard panel settings and data.
- Pulses - Access pulse monitoring and notification data.
- RetrospectiveTemplates - Query retrospective template definitions and formats.
Usage Examples
Query active incidents:
SELECT * FROM Incidents WHERE Status = 'started'
Query incident events by incident ID:
SELECT * FROM IncidentEvents WHERE IncidentId = '1234'
Query incident roles by incident ID:
SELECT * FROM IncidentRoles WHERE Name = 'Database Incident'
Query action items by incident ID:
SELECT * FROM IncidentActionItems WHERE IncidentId = '1234'
Query incident types by name:
SELECT * FROM IncidentTypes WHERE Name = 'Database Incident' AND Slug = 'database-incident' AND Color = '#FF0000'
Query incident sub-statuses by status:
SELECT * FROM IncidentSubStatuses WHERE SubStatusId = 'substatus_123456'
Query status page events by incident ID:
SELECT * FROM IncidentStatusPageEvents WHERE IncidentId = '1234'
Query incident feedbacks by rating:
SELECT * FROM IncidentFeedbacks WHERE IncidentId = '1234'
Query incident retrospectives by incident ID:
SELECT * FROM IncidentRetrospectives WHERE Status = 'published'
Query active alerts:
SELECT * FROM Alerts WHERE Status = 'triggered'
Query alert events by alert ID:
SELECT * FROM AlertEvents WHERE AlertId = 'alert_123456' AND Action = 'acknowledged' AND Kind = 'event'
Query alert sources by name:
SELECT * FROM AlertSources WHERE Name = 'PagerDuty Source'
Query high urgency alerts:
SELECT * FROM AlertUrgencies WHERE Name = 'High'
Query alert routes by name:
SELECT * FROM AlertRoutes WHERE Name = 'Production Routes'
Query enabled alert routing rules:
SELECT * FROM AlertRoutingRules WHERE Name = 'Critical Rule'
Query alert groups:
SELECT * FROM AlertGroups
Query schedules by owner:
SELECT * FROM Schedules WHERE Name = 'Primary On-Call Schedule'
Query schedule rotations by schedule ID:
SELECT * FROM ScheduleRotations WHERE ScheduleId = 'schedule_123456'
Query rotation users by rotation ID:
SELECT * FROM ScheduleRotationUsers WHERE ScheduleRotationId = 'rotation_123456'
Query active rotation days:
SELECT * FROM ScheduleRotationActiveDays WHERE ScheduleRotationId = 'rotation_123456'
Query current shifts by schedule:
SELECT * FROM Shifts WHERE ScheduleId = 'schedule_123456'
Query on-call roles by name:
SELECT * FROM OnCallRoles WHERE Name = 'On-Call Engineer'
Query override shifts by schedule:
SELECT * FROM OverrideShifts WHERE ScheduleId = 'schedule_123456'
Query escalation policies by name:
SELECT * FROM EscalationPolicies WHERE Name = 'Critical Alerts'
Query escalation paths by policy:
SELECT * FROM EscalationPaths WHERE EscalationPolicyId = 'policy_123456'
Query escalation levels by path:
SELECT * FROM EscalationLevels
Query users by email domain:
SELECT * FROM Users WHERE Email = '[email protected]'
Query teams by name:
SELECT * FROM Teams WHERE Name = 'Engineering Team' AND Slug = 'engineering-team' AND Color = '#FF5733'
Query roles by name:
SELECT * FROM Roles WHERE Name = 'System Admin' AND Slug = 'system-admin'
Query services by status:
SELECT * FROM Services WHERE Name = 'Production API' AND Slug = 'production-api'
Query functionalities by name:
SELECT * FROM Functionalities WHERE Name = 'API Gateway' AND Slug = 'api-gateway'
Query environments by name:
SELECT * FROM Environments WHERE Name = 'Production' AND Slug = 'production' AND Color = '#FF0000'
Query enabled workflows:
SELECT * FROM Workflows WHERE Name = 'Auto-Escalation Workflow' AND Slug = 'auto-escalation'
Query workflow runs by workflow:
SELECT * FROM WorkflowRuns WHERE WorkflowId = 'workflow_123456' AND CreatedAt >= '2024-01-01'
Query workflow tasks by workflow:
SELECT * FROM WorkflowTasks WHERE WorkflowId = 'workflow_123456' AND Name = 'Send Notification'
Query workflow groups by name:
SELECT * FROM WorkflowGroups WHERE Name = 'Incident Response'
Query playbooks by name:
SELECT * FROM Playbooks
Query playbook tasks by playbook:
SELECT * FROM PlaybookTasks WHERE PlaybookId = 'playbook_123456'
Query secrets by name:
SELECT * FROM Secrets
Query heartbeats by name:
SELECT * FROM Heartbeats WHERE Name = 'Health Check'
Query causes by name:
SELECT * FROM Causes WHERE Name = 'Hardware Failure'
Query status page templates by status page:
SELECT * FROM StatusPageTemplates WHERE StatusPageId = 'status_page_123456'
Query status pages by name:
SELECT * FROM StatusPages WHERE Title = 'Production Status' AND Slug = 'production-status'
Query dashboards by name:
SELECT * FROM Dashboards
Query dashboard panels by dashboard:
SELECT * FROM DashboardPanels WHERE DashboardId = 'dashboard_123456'
Query pulses by name:
SELECT * FROM Pulses WHERE Source = 'Alert Monitor'
Query retrospective templates by name:
SELECT * FROM RetrospectiveTemplates
Query catalogs by name:
SELECT * FROM Catalogs WHERE Name = 'Service Catalog'
Query catalog entities by catalog:
SELECT * FROM CatalogEntities WHERE CatalogId = 'catalog_123456' AND Name = 'API Gateway Service'
Query catalog fields by catalog:
SELECT * FROM CatalogFields WHERE CatalogId = 'catalog_123456' AND Name = 'Owner Team' AND Kind = 'reference'
Query form fields by name:
SELECT * FROM FormFields WHERE Name = 'Impact Level' AND Slug = 'impact-level'
Query form field options:
SELECT * FROM FormFieldOptions WHERE FormFieldId = 'field_123456' AND Value = 'High Priority' AND Color = '#FF0000'
Query form field placements:
SELECT * FROM FormFieldPlacements WHERE FormFieldId = 'field_123456'
Query form field placement conditions:
SELECT * FROM FormFieldPlacementConditions WHERE FormFieldPlacementId = 'placement_123456'
Query form field positions:
SELECT * FROM FormFieldPositions WHERE FormFieldId = 'field_123456' AND Form = 'incident_form'
Query form sets:
SELECT * FROM FormSets WHERE Slug = 'incident-forms' AND IsDefault = 'true'
Query form set conditions:
SELECT * FROM FormSetConditions WHERE FormSetId = 'formset_123456'
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | The API Key for accessing the Rootly API. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT |