# Build your Data Store

> Walk from an empty Context Store to a graph your agents can use.

*Published: 2026-08-06T12:00:00.0Z*


## Introduction

This page covers the path from an empty Context Store to working Capabilities. The app tracks the same steps on its **Getting started** page, and marks each one complete as you go. You can do them in any order.

The six steps are:

1. Connect an Integration
2. Add Data Sources
3. Ingest data
4. Link objects with Relationships
5. Create a Context Group
6. Create a Capability

## 1. Connect an Integration

An Integration is a connection to an external system. It holds the configuration and credentials that its Data Sources use, and it enforces rate limiting across all of them.

Go to **Integrations** and pick a pre-built Integration, or use `+ New` to define your own.

Most pre-built Integrations need only a secret before they work. Secrets are managed under **Administration → Secrets**, and you can create one inline while configuring the Integration.

Check what data you intend to pull before you mint a credential. Many third-party tokens gate access per resource type, so a token that can list repositories may not be able to read their dependency alerts. Pre-built Integrations offer an **Automatically enable data sources** toggle. If you leave it on, each of the Integration's pre-built Data Sources is enabled after saving, once it passes a dry-run. That covers step 2 for you.

## 2. Add Data Sources

A Data Source is a scheduled job that calls an endpoint, or a chain of endpoints, and stores what it returns as objects in the Data Store.

Go to **Data Sources**. Enabling an Integration in step 1 will normally have populated this list already. Enable the ones you want, or use `+ New` to build a custom Data Source.

A Data Source can enrich its results with a second call. For example, fetch a list of GitHub logins, then loop over that list to fetch the full user entity for each one. See the [Data Store overview](/docs/context/data-store/overview/) for how chaining works.

## 3. Ingest data

Enabling a Data Source schedules it. To see results immediately, run one from the **Data Sources** page.

Once a run completes, its objects appear under **Explore → Data Store**, where you can confirm you pulled what you expected. See [Exploring the Data Store](/docs/context/data-store/exploring/).

If a run returns nothing, the usual causes are a credential without the right permission, or a filter on the Data Source that is narrower than you intended.

## 4. Link objects with Relationships

Relationships are the edges of the graph. They are what lets an agent walk from a repository to the team that owns it, and from there to the person on call for it.

Go to **Relationships**. Enabling a Data Source seeds suggested rules for you. You can also:

- Draw connections manually between Data Sources
- Accept algorithmic suggestions
- Accept suggestions generated by a connected LLM

See [Relationships](/docs/context/data-store/relationships/) for the detail, and [Graph view](/docs/context/data-store/graph/) to check the result visually.

## 5. Create a Context Group

A Context Group collapses several objects into one concept. An `Employee` group might combine a GitHub user, an AWS IAM identity, and a BambooHR record, so that an agent looking up a person gets one record rather than three partial ones.

Go to **Context Groups** and define a rule. Like Relationships, these are seeded automatically when you enable Data Sources. See [Context Groups](/docs/context/context-groups/overview/).

## 6. Create a Capability

A Capability is a documented procedure an agent can follow, written as structured markdown. Runbooks and skills both fit the shape.

Go to **Capabilities** and create one. Capability instructions can reference the things you built above inline, using `@type:slug`:

- `@datasource:sentry-projects`
- `@context-group:payments-team`
- `@action:create-repository`
- `@capability:deploy-service`

These references are also read by the Service Token scope picker, which uses them to suggest the scopes a Capability needs.

See [Capabilities](/docs/context/capabilities/overview/).

## Connect an agent

With data in the graph, expose it over MCP.

1. Enable the servers you want under **Administration → MCP Servers**. `explore` is on by default. `integrations`, `manage`, and `actions` are not.
2. Point your agent at the endpoint. Use `https://app-api.roadie.so/api/mcp/v1/` for the union server, or the URL of an individual server.
3. Authenticate with OAuth, or with a [Service Token](/docs/context/administration/service-tokens/) for non-interactive clients.

Tool calls made against your Context Store are recorded under [Agent Sessions](/docs/context/administration/agent-sessions/).

## Next steps

- [Exploring the Data Store](/docs/context/data-store/exploring/)
- [Actions](/docs/context/actions/overview/)
- [MCP servers overview](/docs/context/mcp-servers/overview/)
