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

# Integrations

> Connect production tools so Arga can seed realistic digital twins

Integrations let Arga pull scoped production data from the tools your team already uses, then turn that data into seed state for validation runs.

Use integrations when you want twins to start from realistic data instead of a blank workspace or hand-written fixture. Arga reads from production systems, converts the useful parts into a scenario, and applies that scenario to the twins before the run starts.

For the current list of supported integrations, see [argalabs.com](https://www.argalabs.com).

## Connect your tools

<Steps>
  <Step title="Open integrations">
    Go to [app.argalabs.com/integrations](https://app.argalabs.com/integrations).
  </Step>

  <Step title="Choose a tool">
    Click **Connect** on the provider you want Arga to read from.
  </Step>

  <Step title="Authorize access">
    Follow the provider's OAuth or API-key flow. Arga requests the scopes needed to read the production data used for planning and seeding.
  </Step>

  <Step title="Select scope">
    When a provider supports scoping, choose the workspace, organization, repository, project, or account Arga should use. Keep this as narrow as possible.
  </Step>
</Steps>

After a tool is connected, Arga can use it when generating tests, creating scenarios, or preparing a run that needs realistic external-service state.

## Pull production data into twins

When a validation run needs seeded twins, Arga follows the same basic flow:

1. **Read from connected tools** — Arga pulls a scoped snapshot of the production records relevant to the run.
2. **Normalize the data** — Arga converts provider-specific objects into a scenario seed config.
3. **Apply the seed** — Arga provisions fresh twins and seeds them before the first test step executes.
4. **Run in isolation** — your app talks to the seeded twins during validation. The run does not write back to the production provider.

The production data is only used to create the starting state. Any changes made during validation happen inside the twin environment.

## What gets seeded

The exact seed depends on the connected tool and the run you are preparing. Typical inputs include:

| Production data                              | How Arga uses it                                                                                      |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Real users, accounts, teams, and permissions | Creates representative actors and access boundaries                                                   |
| Recent objects and activity                  | Recreates realistic records, messages, files, issues, events, or payments                             |
| Linked project context                       | Grounds the scenario in the feature, bug, PR, or customer workflow being validated                    |
| Runtime signals                              | Prioritizes flows related to recent errors, incidents, or observed production behavior                |
| Existing configuration                       | Seeds credentials, webhooks, project settings, or other setup needed for the app to run against twins |

You can save the generated seed as a reusable [scenario](/features/custom-scenarios), edit it, and reuse it across future runs.

## Safety boundaries

* **Read production, write sandbox** — integrations read from production tools; validation traffic goes to twins.
* **Scoped access** — authorize only the workspaces, repos, projects, or accounts Arga needs.
* **Editable scenarios** — review and adjust generated seed data before reusing it.
* **Deterministic reseeds** — reseeding a scenario resets twins back to the same baseline.
* **Twin-safe env vars** — provisioned twins return sandbox URLs and credentials through `env_vars`.

## Next steps

<CardGroup cols={2}>
  <Card title="Create reusable scenarios" icon="database" href="/features/custom-scenarios">
    Save production-derived seed data and reuse it across runs.
  </Card>

  <Card title="Run your first validation" icon="rocket" href="/quickstart">
    Start a validation run with connected production context.
  </Card>
</CardGroup>
