Source: https://atomic-works-test.docs-staging.pageloop.ai/ingestion/dashboard-actions/create-and-configure-an-ingestion-plan

# Create And Configure An Ingestion Plan

---
description: >-
  Learn how to create and configure ingestion plans in Sprinto using templates
  or from-scratch workflows, including parameters, credentials, providers,
  steps, outputs, and plan settings.
---

# 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="../../.gitbook/assets/Screenshot 2026-04-24 at 11.14.44.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.14.52.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.16.26.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.17.53.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.18.32.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.20.11.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.23.49.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.25.16.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.26.56.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.28.16.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.29.16.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.31.33.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.32.49.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.35.36.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.37.03.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 14.38.40.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 14.40.00.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 15.14.04.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 15.15.11.png" alt="" width="375"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 15.17.09.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 15.25.43.png" alt="" width="563"><figcaption></figcaption></figure>

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

<figure><img src="../../.gitbook/assets/Screenshot 2026-04-24 at 16.00.32.png" 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="../../.gitbook/assets/Screenshot 2026-04-24 at 16.01.51.png" 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](manage-plan-execution-and-version-history.md)
* [Build and Edit Plans Using YAML and AI Editor](build-and-edit-plans-using-yaml-and-ai-editor.md)
* [Create and Manage Entity Types](create-and-manage-entity-types.md)
* [Create and Manage Webhooks](create-and-manage-webhooks.md)
