# Workflows to create entities

> Build scheduled entity-creation workflows with sources, JSONata transforms, and catalog sinks.

*Published: 2026-04-09*


## Overview

**Workflows** (entity-creation pipelines) are directed graphs that describe how data becomes [Backstage catalog entities](https://backstage.io/docs/features/software-catalog/descriptor-format/). 

At the moment, these are constructed wholly in the Roadie Editor UI. 

In the Editor you connect nodes on a canvas; execution moves from a trigger through **sources** and **transforms** into **sinks**. New workflows are created as **entity-creation** type so the graph is validated for publishing entities into the catalog.

![users-workflow](./users-workflow.webp)

## Triggers

| Node | Role |
| ---- | ---- |
| **Schedule** | Runs the workflow on a recurring interval (minutes, hours, days, or weeks; weekly schedules can optionally fix a day of week). |

## Sources

| Node | Role |
| ---- | ---- |
| **Data source** | Reads objects from the catalog datastore, typically populated by [data sources](/docs/catalog/building-your-catalog/data-sources/). |

## Transforms

| Node | Role |
| ---- | ---- |
| **Map** | Transforms each item with a [JSONata](https://jsonata.org/) expression to shape fields for entity templates. |
| **Filter** | Keeps or drops items using JSONata. |
| **Merge** | Joins two inputs on configurable keys (for example correlating two datastore snapshots). |

## Sinks

| Node | Role |
| ---- | ---- |
| **Entity provider** | Emits catalog entities via the entity provider mechanism, using templates (including Nunjucks) so each record becomes a valid entity. Standard kinds include Component, API, Resource, Group, User, System, Domain, Location, Repository, and Product, subject to your validators. |

## Dry runs and operations

Where supported, nodes allow **dry runs** so you can validate extraction and transforms before enabling a schedule or relying on the workflow in production. Enable the workflow when you are satisfied, then monitor executions and adjust JSONata or templates when upstream APIs change.

## Permissions

Workflow actions are protected by catalog workflow permissions (read, create, update, delete, and **execute**). Grant execute only to users or roles that should be able to run pipelines against real data.

## Further reading

- [Building your Catalog — overview](/docs/catalog/building-your-catalog/)
- [Data sources](/docs/catalog/building-your-catalog/data-sources/)
- [Integrations](/docs/catalog/building-your-catalog/integrations/)
- [Modeling entities](/docs/catalog/modeling-entities/)
