Skip to main content
The Scrums.com API is planned and not yet publicly available. Endpoints and behaviour are subject to change before release.

Overview

Integrations (INT-*) are authenticated connections between the Scrums.com platform and third-party tools. They are configured at the workspace level and drive: task synchronization with project management tools, code event ingestion from source control, notification delivery to communication platforms, and metric ingestion from monitoring systems. Integrations are a key part of the platform’s orchestration model. A workspace with active integrations gives agents, observability, and task workflows access to real-time data from the tools your teams already use.

Core Concepts

Supported integration types

TypeCategoryDescription
githubSource ControlRepository events, PRs, commits
gitlabSource ControlRepository events, pipelines
bitbucketSource ControlRepository events, PRs
azure_devopsSource Control + PMRepos, boards, pipelines
jiraProject ManagementIssues, sprints, project sync
clickupProject ManagementTasks, spaces, lists
linearProject ManagementIssues, cycles, project sync
azure_boardsProject ManagementWork items, sprints
slackCommunicationNotifications, incident alerts
microsoft_teamsCommunicationNotifications, incident alerts
datadogMonitoringMetrics ingestion, alert bridging
sonarcloudQualityCode quality metrics, quality gates

Sync behavior

Integrations sync data bidirectionally where supported. Task status changes made in the Scrums platform can be written back to Jira or ClickUp. Code events from GitHub are surfaced as platform events and feed observability metrics.

Integration and agents

Agents on the platform can be granted access to workspace integrations. This allows an agent to read from a GitHub repository, query a Jira board, or post a message to Slack as part of its execution. Access is governed by the workspace’s agent policies.

Endpoints

GET /v1/integrations

List integrations for a workspace.

Request

GET /v1/integrations?workspace_id=WS-26-000021
Authorization: Bearer <token>

Response

{
  "data": [
    {
      "id": "INT-26-000041",
      "workspace_id": "WS-26-000021",
      "type": "github",
      "name": "apex-digital/payments-api",
      "status": "active",
      "last_synced_at": "2026-04-15T09:30:00Z",
      "sync_status": "healthy",
      "created_at": "2024-03-20T10:00:00Z"
    },
    {
      "id": "INT-26-000042",
      "workspace_id": "WS-26-000021",
      "type": "jira",
      "name": "APEX Jira Project",
      "status": "active",
      "last_synced_at": "2026-04-15T09:00:00Z",
      "sync_status": "healthy",
      "created_at": "2024-03-20T10:30:00Z"
    }
  ]
}

POST /v1/integrations

Connect a new integration to a workspace.

Request

{
  "workspace_id": "WS-26-000021",
  "type": "github",
  "name": "apex-digital/payments-api",
  "config": {
    "organization": "apex-digital",
    "repositories": ["payments-api", "payments-worker"],
    "events": ["push", "pull_request", "deployment"]
  },
  "credentials": {
    "installation_id": "12345678"
  }
}

Response

Returns the created integration record. OAuth-based integrations (GitHub, Jira) require an additional authorization step via the UI. The integration is created with status: "pending_auth" until the OAuth flow completes.

Notes

  • credentials shape varies by integration type.
  • GitHub integrations use the Scrums GitHub App installation model.
  • Jira integrations use OAuth 2.0.
  • Direct API key integrations (Datadog, SonarCloud) accept a credentials.api_key field.

GET /v1/integrations/

Retrieve an integration with full configuration and recent sync history.

Response

{
  "data": {
    "id": "INT-26-000041",
    "workspace_id": "WS-26-000021",
    "type": "github",
    "name": "apex-digital/payments-api",
    "status": "active",
    "config": {
      "organization": "apex-digital",
      "repositories": ["payments-api", "payments-worker"],
      "events": ["push", "pull_request", "deployment"]
    },
    "last_synced_at": "2026-04-15T09:30:00Z",
    "sync_status": "healthy",
    "sync_history": [
      { "at": "2026-04-15T09:30:00Z", "status": "success", "records_synced": 14 },
      { "at": "2026-04-15T08:30:00Z", "status": "success", "records_synced": 3 }
    ],
    "created_at": "2024-03-20T10:00:00Z"
  }
}

PATCH /v1/integrations/

Update an integration’s configuration or name.

Request

{
  "config": {
    "repositories": ["payments-api", "payments-worker", "payments-gateway"]
  }
}

DELETE /v1/integrations/

Disconnect an integration. Synced data is retained but no new data will be received.

POST /v1/integrations//sync

Trigger a manual sync for the integration.

Response

{
  "data": {
    "sync_id": "SYNC-26-000811",
    "status": "running",
    "started_at": "2026-04-15T10:00:00Z"
  }
}

Objects

Integration

FieldTypeDescription
idstringINT-* identifier
workspace_idstringScoped workspace
typestringIntegration type identifier
namestringDisplay name
statusenumactive, pending_auth, error, disconnected
configobjectIntegration-specific configuration
last_synced_atdatetimeMost recent successful sync
sync_statusenumhealthy, degraded, failed
created_atdatetimeConnection timestamp

Best Practices

  • Connect source control and PM integrations before activating Service Lines. Observability metrics and task sync depend on these connections being live. A Service Line that starts without integrations will have no code or task signals in its health data.
  • Use sync_status: "failed" as an alert trigger. A failed integration stops data flowing to observability and agent tools. Set up an alert rule that fires when integration sync fails.
  • Grant agent access to integrations explicitly. Connecting an integration to a workspace does not automatically make it available to all agents. Agent tool access is granted per-policy in the AI Agent Gateway.
Last modified on April 15, 2026