# Create and Configure an Ingestion Plan

An ingestion plan defines how Sprinto retrieves, processes, and stores external data.

Plans act as workflow pipelines that determine:

* Where data comes from
* How it is authenticated
* Which entities receive the data
* What processing logic should run
* Which outputs should be generated

You can create plans using:

* A pre-built template
* A fully custom from-scratch workflow

Both methods eventually open the same plan editor, where you configure workflow behaviour.

***

## Before You Begin

Ensure that:

* You have access to the **Ingestion** module
* Required credentials or API keys are available
* You know which external system the plan will connect to
* Any required entity types already exist, if applicable

***

## Create a Plan from a Template

Templates provide preconfigured ingestion logic for supported workflows.

Use templates when Sprinto already provides a reusable ingestion structure.

### Create a Template-Based Plan

1. Log in to the Sprinto dashboard.
2. Go to **Ingestion**.
3. Open the **Plans** tab.

<figure><img src="/files/1pU0fblg09XgbJ9C5eej" alt="" width="563"><figcaption></figcaption></figure>

4. Click **New Plan**.
5. Select **From Template**.

<figure><img src="/files/8K2MDdZn4QJ5D72JtKXV" alt="" width="563"><figcaption></figcaption></figure>

6. Review the available templates.
7. Click **Preview** to inspect a template.

<figure><img src="/files/SMTWEWn18jHs8pG1XhLN" alt="" width="563"><figcaption></figcaption></figure>

8. Review:
   * Template description
   * Included entities
   * Required credentials
   * Workflow details
9. Click **Use This Template**.

<figure><img src="/files/ZkWGeTUG7jINcN6naRq0" alt="" width="563"><figcaption></figcaption></figure>

10. Configure plan details.

Once created, Sprinto opens the plan configuration page.

***

## Create a Plan from Scratch

Use a from-scratch plan when you need full control over ingestion logic.

### Create a Custom Plan

1. Go to **Ingestion**.
2. Open the **Plans** tab.
3. Click **New Plan**.
4. Select **From Scratch**.

<figure><img src="/files/QiePwX9tvLQd2fVFdn0q" alt="" width="563"><figcaption></figcaption></figure>

5. Enter the following details:
   * **Name** (required)
   * **Description** (optional)
6. Click **Create**.

<figure><img src="/files/RfyVJyLN3VAeAoVXhvWl" alt="" width="563"><figcaption></figcaption></figure>

Sprinto creates a new empty plan and opens the overview page.

***

## Open the Plan Editor

After creating a plan, configure its behaviour through the editor.

1. Open the required plan.
2. Click **Edit Plan**.

The plan editor contains:

* Plan details
* Parameters
* Credentials
* Providers
* Steps
* Outputs

***

## Configure Plan Details

The plan details section controls high-level workflow behaviour. If you have created a plan from scratch, click **Edit Plan** to configure your plan details.

### Plan Fields

<table><thead><tr><th width="131.3125">Field</th><th width="325.734375">Description</th></tr></thead><tbody><tr><td>Name</td><td>Displays the plan name</td></tr><tr><td>Description</td><td>Optional explanation of the workflow</td></tr><tr><td>Interval</td><td>Defines how often the plan runs</td></tr></tbody></table>

### Configure Run Interval

You can schedule the plan to run automatically.

Examples include:

* Every 4 hours
* Every 8 hours
* Every 12 hours
* Daily

The selected interval controls how frequently Sprinto refreshes ingestion data.

<figure><img src="/files/MlvWj0MTJF1PYRuHsZ3M" alt="" width="563"><figcaption></figcaption></figure>

***

## Add Parameters

Parameters allow a plan to accept reusable input values.

Parameters are useful when:

* Multiple environments share the same workflow
* Values must change between runs
* Dynamic filtering is required

### Add a Parameter

1. In the **Parameters** section, click **Add Parameter**.

<figure><img src="/files/xgSo5iQu8jhHrtiOnBSV" alt="" width="563"><figcaption></figcaption></figure>

2. Enter a parameter name.
3. Select a parameter type.
4. Add a default value if needed.
5. Enable **Required Parameter** if the value must always be provided.
6. Click **Save Parameter**.

<figure><img src="/files/hgdsbbifhUaPqvnafUSd" alt="" width="375"><figcaption></figcaption></figure>

The parameter appears in the parameter table.

### Supported Parameter Types

<table><thead><tr><th width="147.796875">Type</th><th width="224.375">Description</th></tr></thead><tbody><tr><td>String</td><td>Text-based input</td></tr><tr><td>Number</td><td>Numeric values</td></tr><tr><td>Boolean</td><td>True/false values</td></tr><tr><td>Array</td><td>Multiple values</td></tr><tr><td>Object</td><td>Structured JSON data</td></tr></tbody></table>

### Edit a Parameter

1. Locate the parameter.
2. Click the **Edit** icon.

<figure><img src="/files/zfOpMeXNAkzyz5ug8iHT" alt="" width="563"><figcaption></figcaption></figure>

3. Update the configuration.
4. Click **Save Parameter**.

### Delete a Parameter

1. Locate the parameter.
2. Click the **Delete** icon.

<figure><img src="/files/ixjtR8RpmqcEQ1OHYTw1" alt="" width="563"><figcaption></figcaption></figure>

3. Click **Delete** to confirm the action.

<figure><img src="/files/uk226L1M12MarL9f2P1W" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}

#### Important

Deleting a parameter cannot be undone.
{% endhint %}

***

## Attach Credentials

Credentials authenticate external connections.

Plans may require credentials before they can run successfully.

### Attach a Credential

1. In the **Credentials** section, click **Attach Credential**.

<figure><img src="/files/sGq2XeEQ9iJeqfa7hpoV" alt="" width="563"><figcaption></figcaption></figure>

2. Select the required integration.
3. Click **Connect**.

<figure><img src="/files/2jDRwB96IG6UtPPqN07o" alt="" width="375"><figcaption></figcaption></figure>

4. Provide the required authentication details.
5. Click **Connect to \<Credential name>** to attach your credentials.

<figure><img src="/files/xyF5uYl1pB4b5Pf7hQhH" alt="" width="375"><figcaption></figcaption></figure>

The credential becomes attached to the plan.

### Credential Requirements

Depending on the integration, authentication may include:

* API keys
* Bearer tokens
* OAuth credentials
* Secret values

If required credentials are missing, Sprinto displays a warning.

***

## Attach Providers

Providers define the external source associated with the workflow.

A provider represents the integration instance used during ingestion.

### Attach a Provider

1. In the **Providers** section, click **Attach Provider**.

<figure><img src="/files/zV9Z7YR1WDLNXQfaVzak" alt="" width="563"><figcaption></figcaption></figure>

2. Select a provider.
3. Click **Attach**.

<figure><img src="/files/fGcJaRDaKWX3GTeq4MYT" alt="" width="375"><figcaption></figcaption></figure>

The provider becomes associated with the plan.

***

## Add Workflow Steps

Steps define how ingestion executes.

Each step performs a specific action inside the workflow.

Examples include:

* Fetching data
* Processing records
* Saving entities
* Querying Sprinto data

### Add a Step

1. In the **Steps** section, click **Add Step**.

<figure><img src="/files/IaqCAzIUrVX57ym0Rf1Y" alt="" width="563"><figcaption></figcaption></figure>

2. Select a step category.
3. Choose a step type.

<figure><img src="/files/94TBFLMTexRZu37OpAqG" alt="" width="375"><figcaption></figcaption></figure>

3. Configure the step.
4. Click **Save Step**.

<figure><img src="/files/7ST28lQm8bn5BWCpmYVl" alt="" width="375"><figcaption></figcaption></figure>

The step appears in the workflow sequence.

***

## Step Categories

Sprinto organises steps into categories.

### Data Fetching

Retrieves information from external systems.

Examples include:

* HTTP Request
* Poll Endpoint
* Download File

### Data Processing

Transforms or reshapes data.

Examples include:

* Parse CSV
* Parse Excel
* Transform Data
* Loop

### Data Storage

Stores or removes ingestion records.

Examples include:

* Insert Entities
* Delete Entities
* Map Entity Type

### Sprinto Query

Retrieves Sprinto-managed information.

Examples include:

* Sprinto Query

***

## Common Step Configuration Fields

Although step drawers vary, several fields are commonly available.

### Step Name

Defines a readable identifier for the step.

### Query or Expression

Some steps require:

* JSONATA expressions
* Queries
* Mapping rules

### Checkpoint

Enable **Checkpoint** to mark a workflow boundary.

### Cache

Enable caching to reuse step output.

### Conditions

Conditional logic determines when the step runs.

### Retry and Attempt Settings

Some steps include:

* Minimum attempts
* Maximum attempts
* Delay intervals

These settings help manage retries and polling behaviour.

***

## Configure Outputs

Outputs expose values generated during workflow execution.

Outputs can reference processed data that should be surfaced after execution.

### Add an Output

1. Scroll to the **Outputs** section.
2. Click **Add Item**.

<figure><img src="/files/NRoWzP6Sk2GBHaYy4qQX" alt="" width="563"><figcaption></figcaption></figure>

2. Enter an output name.
3. Define the output value.
4. Repeat for additional outputs.

<figure><img src="/files/Dmhhlvz0qOWR4BGpdF6x" alt="" width="563"><figcaption></figcaption></figure>

Outputs are displayed after plan execution.

***

## Save Plan Changes

After configuring the plan:

1. Review all sections.
2. Click **Save Changes**.

<figure><img src="/files/tHsqLgflc4c3c8Y1lB0Q" alt="" width="563"><figcaption></figcaption></figure>

Sprinto validates the configuration before saving.

After saving, Sprinto returns you to the plan overview page.

***

## What Happens Next

Once a plan is configured, you can:

* Run the plan manually
* Debug the workflow
* Review revision history
* View run history
* Open the YAML editor
* Edit through AI Editor

These actions are available from the plan overview page.

***

## Best Practices

Use the following recommendations when configuring plans:

* Use templates when available
* Add clear descriptions for easier maintenance
* Keep parameter names readable
* Attach credentials before configuring API steps
* Organise steps in logical execution order
* Configure outputs for important values
* Save changes regularly
* Validate step logic before running

***

### Related Information

* [Manage Plan Execution and Version History](/ingestion/dashboard-actions/manage-plan-execution-and-version-history.md)
* [Build and Edit Plans Using YAML and AI Editor](/ingestion/dashboard-actions/build-and-edit-plans-using-yaml-and-ai-editor.md)
* [Create and Manage Entity Types](/ingestion/dashboard-actions/create-and-manage-entity-types.md)
* [Create and Manage Webhooks](/ingestion/dashboard-actions/create-and-manage-webhooks.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sprinto.com/ingestion/dashboard-actions/create-and-configure-an-ingestion-plan.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
