> ## Documentation Index
> Fetch the complete documentation index at: https://docs.statusstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Sources

> Create private sources to monitor internal services and unlisted status page providers

## Overview

Custom Sources let you monitor services that aren't part of StatusStack's 5,200+ pre-built integrations. This includes internal APIs, private infrastructure, and unlisted status page providers that your organization depends on.

<CardGroup cols={2}>
  <Card title="URL-Based Sources" icon="link">
    Point to any status page URL and StatusStack auto-detects the provider type
  </Card>

  <Card title="Manual Sources" icon="pen">
    Create sources for internal services without public status pages
  </Card>
</CardGroup>

***

## Source Types

### URL-Based Sources

If the service you want to monitor has a status page that isn't already tracked by StatusStack, you can add it by providing the URL. StatusStack automatically detects the status page type and begins monitoring.

**Auto-detected providers:**

* Statuspage.io
* BetterStack (BetterUptime)
* Instatus
* AWS Health Dashboard
* Google Cloud Status
* Microsoft Azure Status
* GitHub Status
* Cachet

### Manual Sources

For internal services that don't have a public status page, create a manual source. You manage the status of these sources directly from the dashboard or via the API.

**Common use cases:**

* Internal microservices and APIs
* On-premise infrastructure
* Private SaaS tools without public status pages
* Development and staging environments

***

## Creating a Custom Source

<Steps>
  <Step title="Navigate to My Services">
    In the customer dashboard, go to **Monitoring** → **My Services** or visit `/dash/custom-sources`.
  </Step>

  <Step title="Click Create">
    Click the **Create Custom Source** button to open the creation form.
  </Step>

  <Step title="Choose Source Type">
    Select whether this is a **URL-based** source (has a status page) or a **Manual** source (no public page).
  </Step>

  <Step title="Configure Details">
    Provide the source name and, for URL-based sources, the status page URL. StatusStack validates the URL and auto-detects the provider type.
  </Step>

  <Step title="Save and Monitor">
    Save the source. StatusStack begins polling URL-based sources immediately. Manual sources start in an **Operational** state.
  </Step>
</Steps>

***

## URL Validation and Security

StatusStack validates all custom source URLs to prevent abuse:

* URLs must use `http://` or `https://` protocols
* Private and reserved IP ranges are blocked (e.g., `10.x.x.x`, `192.168.x.x`, `127.0.0.1`)
* DNS resolution is performed to detect encoded IP attacks
* Both IPv4 and IPv6 addresses are validated

<Warning>
  Custom source URLs must point to publicly accessible status pages. StatusStack cannot monitor URLs behind VPNs or firewalls. For internal services without public endpoints, use **Manual** sources instead.
</Warning>

***

## Managing Custom Sources

Once created, custom sources appear in your **My Services** dashboard alongside any relevant details:

### Viewing Source Status

Each custom source displays:

* Current operational status
* Status page type (for URL-based sources)
* Last checked timestamp
* Component breakdown (if applicable)

### Editing a Source

Update the source name, URL, or configuration from the edit page. Changes to URLs trigger a fresh detection of the status page type.

### Deleting a Source

Remove sources you no longer need. This also removes the source from any Stacks it was added to.

***

## Organization Limits

Each organization can create up to **10 custom sources** by default. This limit applies across all teams within the organization.

| Plan       | Custom Source Limit    |
| ---------- | ---------------------- |
| Free       | 10                     |
| Pro        | 10                     |
| Enterprise | Custom (contact sales) |

<Note>
  Need more custom sources? [Contact our sales team](mailto:sales@statusstack.com) to discuss enterprise limits.
</Note>

***

## Adding Custom Sources to Stacks

Custom sources work like any other source in StatusStack. After creating one, you can add it to your Stacks:

1. Navigate to the Stack you want to add the source to
2. Click **Add Component**
3. Search for your custom source by name
4. Select the source and its components
5. The source status now contributes to the Stack's overall health

***

## Best Practices

<AccordionGroup>
  <Accordion title="Naming Conventions">
    Use clear, descriptive names that identify the service and environment:

    * `Internal User API (Production)`
    * `Warehouse Management System`
    * `Partner Portal Status Page`
  </Accordion>

  <Accordion title="Use URL-Based When Possible">
    If the service has any kind of status page, prefer URL-based sources over manual ones. This gives you automated monitoring without manual status updates.
  </Accordion>

  <Accordion title="Combine with Custom Monitors">
    For internal services, pair a manual custom source with a [Custom Monitor](/guides/custom-monitoring) pointing to the service's health endpoint. This gives you both status tracking and uptime monitoring.
  </Accordion>

  <Accordion title="Team Organization">
    Custom sources are scoped to your organization. Coordinate with your team to avoid creating duplicate sources for the same internal service.
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Sources Concept" icon="globe" href="/concepts/sources">
    Understanding sources in StatusStack
  </Card>

  <Card title="Custom Monitoring" icon="chart-line" href="/guides/custom-monitoring">
    Set up website and API health checks
  </Card>

  <Card title="Creating Stacks" icon="layer-group" href="/guides/creating-stacks">
    Organize sources into Stacks
  </Card>

  <Card title="Adding Services" icon="plus" href="/guides/adding-services">
    Add sources and components to your Stacks
  </Card>
</CardGroup>
