Integrations

Users can integrate custom streams with their downstream databases and communications channels of choice.

Note: Integrations require specific permissions not available on free tier accounts. To request integration access, contact your SportsCapital representative or email support@sportscapital.io. See the Getting Started page for more information on our permission model.

Integrations

SportsCapital currently supports these integration types:

Integration

Description

Parameters

Setup Prerequisites

Slack

Post alerts to specific Slack channels

• Slack bot token
• Channel ID

• Create a Slack App in your workspace
• Add bot permissions: chat:write, channels:list
• Install app to your workspace
• Invite the bot to your channel

Amazon S3

Store JSON data in S3 buckets

• Access Key ID
• Secret Access Key
• Bucket Name

• Create an S3 bucket
• Create an IAM user
• Configure bucket policy to allow the IAM user to put objects (s3:PutObject)
• Attach IAM policy to the user granting s3:PutObject permissions on the bucket
• Generate access keys for the IAM user

Webhook

POST Request sending JSON to your endpoint

• Endpoint URL
• Headers (optional)

• Accept JSON payload
• No bot restrictions
• Accept custom headers

MongoDB

Store JSON data as documents in MongoDB collection

• Mongo URI
• Database
• Collection

• Setup Mongo collection
• Create user that has write permission to collection

Core Operations

Operation

Description

Platform

API

List All

View all integrations

Access the Integrations tab to see integration cards

GET to /v1/user/integration

Create

Set up a new integration

Click “Add Integration” and select type

POST to /v1/user/integration

Edit

Modify an existing integration

Click “View Integration” on an integration card

PUT to /v1/user/integration/{integration_id}

Delete

Remove an integration

Click the trash icon on an integration card

DELETE to /v1/user/integration/{integration_id}

Toggle Status

Enable/disable an integration

Use the toggle switch on an integration card

PUT to /v1/user/integration/{integration_id} with active set to true or false

Automatic Delivery

Once configured, the delivery system works automatically when:

  1. An integration is active - You have set an integration to active status

  2. Active saved searches exist - You have saved searches with integration enabled

  3. League matching occurs - Both integration and saved searches are configured for the same league

There is no need to manually link saved searches to specific integrations. Any active saved search will automatically deliver to all active integrations for the matching league.

How It Works

  1. Configure your external system (create Slack channels, set up S3 buckets)

  2. Create an integration in SportsCapital with the appropriate credentials

  3. Activate the integration by setting it to active status

  4. Create and activate saved searches for the same league (see Manage Searches)

  5. Matching content is automatically delivered to your external system

When content matches your saved search criteria (see Search for details on configuring effective searches), the system will automatically deliver that content to your configured integrations.

Using This Feature

Platform

  1. Configure your external system first (create channels, set permissions, etc.)

  2. Navigate to the Integrations tab in your Command Center

  3. Click “Add Integration” to create a new connection

  4. Select the integration type (Slack, S3)

  5. Enter the required configuration details:

    • Name your integration (e.g., “NBA Slack Integration”)

    • Select the league

    • Provide the necessary authentication credentials (e.g., Slack bot token and channel ID)

  6. After creation, you’ll see integration cards displaying:

    • Integration name

    • League

    • Channel/destination details

    • Controls for viewing, activating/deactivating, and deleting

  7. To edit an integration, click the “View Integration” button on its card

  8. To activate or deactivate, use the toggle switch

  9. To delete, click the trash icon

  10. Ensure you have active saved searches for the same league with integration enabled

API

List Integrations

GET https://api.sportscapital.io/v1/user/integration

Returns all your configured integrations with their IDs, types, and status.

Create an Integration

POST https://api.sportscapital.io/v1/user/integration
{
  "name": "NBA Slack Integration",
  "system": "Slack",
  "league_id": "729c2399-f94a-4db3-9710-e2a5b3c4d0e3",
  "payload": {
    "slack_token": "slacktoken",
    "channel_id": "channel"
  }
}

Update an Integration

PUT https://api.sportscapital.io/v1/user/integration/{integration_id}
{
  "name": "NBA Slack Integration",
  "system": "Slack",
  "league_id": "729c2399-f94a-4db3-9710-e2a5b3c4d0e3",
  "payload": {
    "slack_token": "slacktoken",
    "channel_id": "channel"
  },
  "active": true
}

Delete an Integration

DELETE https://api.sportscapital.io/v1/user/integration/{integration_id}

For complete API documentation, see the API Reference.