Integrations
Integrations allow you to connect InfraDots Platform with external services and tools to enhance your infrastructure workflow.
What are Integrations?
Integrations in InfraDots Platform enable you to:
- Trigger notifications after infrastructure operations
- Connect with external APIs and services
- Automate workflows between InfraDots and other tools
- Extend the platform's capabilities with custom integrations
Types of Integrations
InfraDots Platform supports the following integration types:
- Slack: Send notifications to Slack channels after infrastructure operations
- Microsoft Teams: Send Adaptive Card notifications to Teams channels via incoming webhooks
- Webhook: Send HTTP requests to external endpoints after specific job stages
- Custom: Create specialized integrations for your unique workflow needs
Slack Integration
Connect InfraDots to Slack to receive notifications about your infrastructure runs directly in your Slack channels.
Setting Up Slack
- Navigate to your organization's settings
- Select the "Integrations" tab
- Click "Add Integration"
- Enter a Name for the integration
- Select Slack as the type
- Add the default channels that should receive notifications (comma-separated, e.g.
infrastructure, devops) - Optionally add environment channels for per-environment routing (e.g.
production:#prod-alerts, staging:#staging) - Click "Add" — then click Add to Slack on the integration card to authorize the connection
- Complete the Slack OAuth flow to link your workspace
Once authorized, InfraDots will post run notifications to the configured channels when attached to workspaces.
Slack Notification Content
Each Slack notification includes:
- Workspace and organization name
- Run status (completed, failed, waiting for approval, cancelled, rejected)
- Job ID and commit reference with a link
- Direct link to approve runs that are waiting for review
Microsoft Teams Integration
Connect InfraDots to Microsoft Teams to receive Adaptive Card notifications in your Teams channels.
Teams uses incoming webhooks — no OAuth is required. You configure a webhook URL directly in Teams and paste it into InfraDots.
Getting a Teams Webhook URL
- In Microsoft Teams, open the channel you want to receive notifications
- Click ··· (More options) → Connectors
- Find Incoming Webhook and click Configure
- Give it a name (e.g. "InfraDots") and click Create
- Copy the webhook URL
Setting Up a Teams Integration
- Navigate to your organization's settings
- Select the "Integrations" tab
- Click "Add Integration"
- Enter a Name for the integration
- Select Microsoft Teams as the type
- Paste one or more webhook URLs (comma-separated)
- Optionally add environment webhook URLs for per-environment routing (e.g.
production:https://prod.webhook.office.com/...) - Click "Add"
Once created, click Test on the integration card to verify the connection.
Teams Notification Content
Notifications are sent as Adaptive Cards and include:
- Workspace and organization name
- Run status with color coding (green for success, red for failure)
- Job ID and commit reference
- Action button to approve runs that are waiting for review (waiting for approval status)
Setting Up Webhook / Custom Integrations
Creating a Webhook or Custom Integration
- Navigate to your organization's settings
- Select the "Integrations" tab
- Click "Add Integration"
- Fill in the integration details:
- Name: A descriptive name for the integration
- Type: Select Webhook or Custom
- API URL: The endpoint URL that will receive the integration data
- API Key: Authentication key for the external service (stored encrypted)
- Description: Optional details about the integration's purpose
- Click "Add" to create the integration
Managing Integrations
Editing an Integration
- Navigate to your organization's integrations settings
- Find the integration you want to edit
- Click the Edit button
- Update the integration details
- Click Update to save changes
Testing an Integration
Slack and Teams integrations have a Test button that sends a test notification to verify the connection is working. The button appears once a Slack workspace is connected (OAuth complete) or Teams webhook URLs are configured.
Deleting an Integration
- Navigate to your organization's integrations settings
- Find the integration you want to delete
- Click the Delete button
- Confirm the deletion
Attaching Integrations to Workspaces
Once you've created integrations at the organization level, attach them to specific workspaces to trigger notifications after job stages.
Attaching an Integration to a Workspace
- Navigate to your workspace
- Click Integrations in the workspace menu
- Click Attach Integration
- Select an integration from the dropdown
- Choose when to trigger the integration:
- After Plan: Trigger after the planning stage completes
- After Apply: Trigger after the apply stage completes
- After all stages: Trigger after both plan and apply stages
- Optionally configure workspace-level overrides:
- For Slack: specify workspace-specific channels (comma-separated) and/or environment channels — these override the org defaults for this workspace only
- For Teams: specify workspace-specific webhook URLs (comma-separated) and/or environment webhook URLs — these override the org defaults for this workspace only
- Leave blank to fall back to the org-level defaults
- Click Attach
Channel and Webhook Override Resolution
When a notification fires, InfraDots resolves the target channels/webhooks in this order (first match wins):
- Workspace-level environment override (e.g. channels for
production) - Org-level environment override
- Workspace-level default channels/webhooks
- Org-level default channels/webhooks
This lets you route production alerts to a dedicated channel while using shared defaults for other environments.
Managing Workspace Integrations
Viewing Attached Integrations
Navigate to your workspace → Integrations to see:
- Integration name and type
- Run after stage setting
- Workspace-level channel or webhook overrides (if configured)
- Attachment date and who attached it
Detaching an Integration
- Navigate to your workspace integrations
- Find the integration you want to detach
- Click the Detach button and confirm
How Integrations Work
When an integration is attached to a workspace, it fires automatically after the specified job stage completes.
Execution Flow
VCS Push ──▶ Run Triggered ──▶ Plan Stage ──▶ Apply Stage
│ │
▼ ▼
After Plan After Apply
Triggers Triggers
│ │
▼ ▼
Slack / Teams / Slack / Teams /
Webhook / Custom Webhook / Custom
- A job runs in the workspace
- When the specified stage completes, all attached integrations for that stage are triggered
- For Webhook/Custom: a JSON payload is sent to the configured API URL
- For Slack: a Block Kit message is posted to the resolved channels
- For Teams: an Adaptive Card is posted to the resolved webhook URLs
- Each execution is recorded (status code and response stored)
Webhook Payload
For Webhook and Custom integrations, InfraDots sends a JSON payload to your endpoint:
{
"workspace_id": "...",
"workspace_name": "production-infra",
"organization_id": "...",
"organization_name": "acme",
"status": "COMPLETED",
"job": "job-id",
"job_started_date": "2025-01-15T10:30:00Z",
"job_completion_date": "2025-01-15T10:35:00Z",
"commit": "abc1234",
"commit_url": "https://github.com/org/repo/commit/abc1234",
"comment": "",
"integration": {
"id": "...",
"name": "My Webhook",
"type": "WEBHOOK"
}
}
Security Considerations
- API keys and Slack bot tokens are encrypted at rest in the database
- Teams webhooks are plain HTTPS URLs — treat them as secrets and rotate if exposed
- Use HTTPS endpoints for all webhook integrations
- Workspace-level channel/webhook overrides are stored per workspace attachment and do not affect other workspaces sharing the same integration
