The Deliver Data step writes workflow data back to a connected data source. With repeating records, the step can create or update a collection of related records in one operation, such as adding contacts to an account or updating line items on an order. This lets a workflow receive, review, edit, and write back repeating data without handling each record one at a time.
Note: This article covers writing collections of records back to a connected data source. For general setup of the step, see How to Use the Deliver Data Step in Your Workflow. For an overview of repeating data across Streamline, see Working with Repeating Data (Collections) in Streamline.
Who Has Access?
| Role | What they can do |
|---|---|
| Admin, Manager, Builder | Configure the Deliver Data step for repeating records when they can edit the workflow builder and have permission to read datasets. |
| End User | Run workflows that write repeating records back to the connected data source. |
Access follows existing project-level permissions. The workflow must also have write access to the connected data source at run time, because records are written to that source when the workflow runs.
Key Capabilities
- Write a collection in one step. Create or update child record collections in a single Deliver Data step.
- Preserve parent-child relationships. Child records receive the correct parent record reference without manual foreign key mapping.
- Write nested records. Write-back supports up to two nested levels below the parent: child and grandchild records
Part 1: Confirm the Collection Source
Before you configure write-back, confirm the workflow produces the collection you want to write.
- Confirm an upstream step produces the collection, such as Incoming Webhook, Search Data, or a Form Repeating Section.
- Confirm the collection contains the records and fields needed by the destination entity.
- If the collection came from a Form and will update existing source records, confirm the Form includes the source record ID or unique key field for each repeating record, even if that field is hidden from the end user.
Note: Each write-out entity uses one collection source. You cannot combine records or fields from two different collections into the same write-out entity.
Part 2: Select the Dataset, Choose the Operation, and Map Fields
Configure the dataset, write-back operation, and field mappings in the Deliver Data step.
- Open the workflow in the builder and select the Deliver Data step.
- Select the dataset connected to the data source you want to write to.
- Choose the operation for the collection:
- Create adds a new destination record for each item in the collection.
- Update modifies existing records. This requires fields that match each collection item to an existing record in the connected data source.
- Upsert updates a record if it exists or creates it if it does not. This also requires fields that can match each collection item to an existing record.
- For each entity in the dataset, map fields from the collection to the fields on that entity.
Important: Update and Upsert require source record IDs, unique keys, or search key fields that match each item to an existing record. Without matching fields, the workflow cannot reliably update the correct existing records.
Feature Considerations
- Maximum nesting depth is two levels after parent. Parent > child > grandchild is supported. Deeper records should be handled in a separate step or workflow.
- Maximum 1,000 items per collection. Keep write-back collections limited to the records the workflow needs.
- Only one repeatable level can be written in a Deliver Data step. A single level, primary, child, or grandchild, may be repeatable in the same step. A repeatable parent and repeatable child are not supported simultaneously. If a workflow carries multiple collections that need to be written back, map each collection in its own write-out step or configuration.
- Collections cannot be mixed in a single write-out. You cannot combine fields from different collections, such as a Search Data collection and a separately edited Forms collection, into one write-out.
- Existing records need an ID or key field. To update repeating records that already exist in a data source, the workflow must preserve the source record's ID or another unique key for each record. If a Form lets an end user edit records prefilled from Search Data, include the ID or key field in the Form, even if hidden.
- Deleting or disassociating existing records is not supported. Streamline can edit existing repeating records and add new ones, but it does not delete existing records from the connected data source or disassociate child records from a parent through this workflow pattern.
- Partial failures are possible. Transaction support depends on the target data source, so some records can succeed while others fail. Review the per-record results.
- Source rate limits apply. Bulk write-back is subject to the connected data source's rate limits and API constraints.
- Collection size guidelines apply. Collection write-back should stay within supported product-level limits of 50 collections per operation, 50 fields per collection, and 100-character collection labels.
Troubleshooting Common Issues
| Issue | Resolution |
|---|---|
| Some records were written but others failed | Partial failures can occur because transaction support depends on the target data source. Review the per-record results and failure reasons, correct the failed records, and rerun the workflow for the affected records. |
| Child records are not linked to the right parent | Verify the parent-child relationship in the dataset and confirm the child collection is mapped to the correct parent entity in the Deliver Data step. |
| Update or Upsert is not matching existing records | Confirm the source record ID, unique key, or search key fields are included and mapped for each item. Without valid matching fields, the workflow cannot reliably match items to existing records. |
| The step fails after an upstream collection changed | If the upstream repeating section or Search Data collection was deleted or modified, reopen the Deliver Data step and remap the collection source. |
| The collection is too large | Reduce the number of records upstream or split the work across multiple executions. Maximum collection size is 1,000 items. |
| Nested records beyond two levels are not written | Maximum nesting depth is two levels after parent: parent > child > grandchild. Restructure the data so deeper relationships are handled in a separate step. |
| Rate limit or API errors from the data source | Bulk write-back is subject to the target data source's rate limits and API behavior. Reduce batch size or stagger writes. |
| Collection reference resolution errors during write-out | Verify File Upload Service connectivity and permissions, and confirm the upstream step delivered a valid collection. If the issue continues, contact support with the workflow execution details. |
Comments
0 comments
Article is closed for comments.