# Overview

The **Ingestion** module in Sprinto allows you to import, process, and manage structured data from external systems.

It acts as a workflow engine that connects external providers, retrieves information, transforms incoming data, and stores it within Sprinto for downstream monitoring, evaluation, and automation.

Ingestion is designed to support flexible integrations with APIs, files, and external systems through configurable plans.

You can use Ingestion to:

* Fetch data from external APIs
* Connect providers and credentials
* Transform and map records into Sprinto entities
* Parse files such as CSV or Excel
* Store or remove records based on defined logic
* Trigger evaluations and downstream workflows
* Build repeatable ingestion pipelines

The module is primarily configured using **Plans**, where each workflow is built through reusable steps.

***

## How Ingestion Works

Ingestion follows a structured workflow model.

Each ingestion workflow is configured as a plan that defines how data moves from an external source into Sprinto.

The process typically follows this sequence:

1. Connect to an external provider.
2. Authenticate using credentials.
3. Fetch or receive data.
4. Process and transform the incoming payload.
5. Map records to Sprinto entity types.
6. Save or remove entities.
7. Trigger evaluations or monitoring.

This modular structure allows you to build workflows for different integration use cases.

***

## Key Components of Ingestion

### Plans

Plans define the ingestion workflow.

Each plan contains:

* Workflow configuration
* Providers
* Credentials
* Execution steps
* Processing logic

Plans determine how external data is collected, transformed, and processed.

### Entities

Entities are structured records created or updated during ingestion.

They act as the destination schema for imported data.

Entity mapping allows external records to align with Sprinto data models.

Examples include:

* Incident records
* Training records
* Asset records
* User-related data
* Custom entity types

Entities allow imported information to become usable across monitoring, workflows, and reporting.

### Webhooks

Webhooks allow external systems to send data directly into Sprinto when specific events occur.

Unlike scheduled fetching workflows, webhooks enable real-time ingestion.

Webhooks can be used to:

* Receive event-driven updates
* Trigger ingestion workflows automatically
* Push data into Sprinto without polling
* Reduce dependency on scheduled API calls

Webhook-based ingestion is useful when external systems support outbound notifications or event callbacks.

***

## Common Ingestion Workflow Types

Ingestion supports multiple workflow patterns.

### API-Based Ingestion

Data is retrieved directly from external APIs.

Typical flow:

1. Authenticate with an API.
2. Fetch records.
3. Transform data.
4. Save entities.

### File-Based Ingestion

Data is imported from files.

Supported examples include:

* CSV files
* Excel spreadsheets
* Downloaded reports

Typical flow:

1. Download or receive a file.
2. Parse file contents.
3. Transform rows.
4. Save mapped entities.

### Scheduled Synchronisation

Plans can run repeatedly to keep Sprinto aligned with external systems.

This helps ensure data remains updated without manual intervention.

### Incremental Updates

Ingestion workflows can insert, update, or delete records depending on workflow logic.

This prevents duplicate or outdated data.

***

## Typical Ingestion Flow

Below is a common ingestion lifecycle.

<table><thead><tr><th width="125.609375">Stage</th><th width="362.59765625">Description</th></tr></thead><tbody><tr><td>Connect</td><td>Attach credentials and providers</td></tr><tr><td>Fetch</td><td>Retrieve data from external sources</td></tr><tr><td>Process</td><td>Parse, transform, or filter data</td></tr><tr><td>Map</td><td>Match incoming records to entity types</td></tr><tr><td>Store</td><td>Insert or update Sprinto entities</td></tr><tr><td>Evaluate</td><td>Trigger downstream checks or monitoring</td></tr></tbody></table>

***

## Use Cases

<table><thead><tr><th width="265.7578125">Use Case</th><th width="410.578125">Description</th></tr></thead><tbody><tr><td>Import incident records</td><td>Sync incidents from external systems into Sprinto</td></tr><tr><td>Sync training completion data</td><td>Import user training records from LMS providers</td></tr><tr><td>Process downloaded reports</td><td>Convert files into structured Sprinto entities</td></tr><tr><td>Maintain external inventory</td><td>Keep Sprinto aligned with external asset systems</td></tr><tr><td>Build custom integrations</td><td>Connect unsupported external systems using APIs</td></tr></tbody></table>

***

## Benefits of Ingestion

Using Ingestion provides:

* Centralised data processing
* Flexible workflow design
* Reduced manual imports
* Consistent data mapping
* Integration extensibility
* Improved monitoring accuracy
* Better automation support


---

# 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/overview.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.
