A Process can be configured to delete records from database objects as part of its execution. Deletion via a Process is useful when you need to remove a large number of records programmatically, prevent duplicate records during recalculation, or manage datasets where records are replaced rather than updated.
The most common scenario is recalculation: when a Process recalculates results for a period and the resulting records may land on different dates or have different keys than the previous run, the old records must be deleted before the new ones are written. Overwriting only works when the unique key is the same — if the key changes, the old record persists alongside the new one, creating a duplicate.
Deletion within a Process always occurs before new records are written in the same execution. This ensures stale records are cleared before fresh results are stored.
When deletion is and is not needed
For objects where records are continuous and keyed by a fixed combination — for example, one record per date per entity — a Process can simply overwrite the existing record by writing a new one with the same unique key. No deletion configuration is needed.
Deletion is needed when records are sporadic — when the set of records that will be written in one run may differ from what was written in a previous run, and the old records cannot be overwritten because their keys have changed.
Prepare the Process Logic workbook
Deletion requires a Spreadsheet Process with a Process Logic workbook. The workbook must contain:
An input worksheet to receive records from the object you want to delete from. Define a named range where the incoming data will be loaded.
An output worksheet for each object from which records will be deleted. Define a named range containing the records to delete. The number of columns in this range must exactly match the number of attributes in the object, and the column order must match the object's attribute order.
Logic that copies only the records to be deleted from the input range to the deletion output range. Typically this is a filter that identifies which of the loaded records should be removed.
Every record in the deletion range must have all attributes that form the object's unique key populated. If the first attribute in a row is blank, that row is ignored. Blank rows anywhere in the range are permitted and ignored.
If you need to delete records from multiple objects, repeat the input and output structure for each.
Configure Process Deletion
Open the Configuration application and navigate to Process Configuration \> Processes.
Create or select the Process.
Configure a Process Input for the object whose records you want to delete, with a Filter that retrieves the candidate records. See Process Inputs and Filters.
In the Process Deletion section, click Detail to display all fields, then click Edit.
Enter the number of objects from which records will be deleted and click Add.
For each deletion entry:
Location — enter the named range in the workbook that defines the records to delete.
Object Specification — select the object to delete records from.
Order — set the sequence of deletion if multiple objects are involved. Deletions are executed in ascending order number. When there are referential dependencies between objects, delete child records before parent records.
Enter an Audit Comment and click Save and Refresh.
Important notes
Deletion is permanent. Use caution when configuring Filters and deletion logic — the Filter controls which records are loaded as candidates, and the workbook logic controls which of those candidates are placed in the deletion range. Test thoroughly before running against production data.
Deletions apply only to records explicitly listed in the deletion range. The Process will not delete any records not present in that range, regardless of what was loaded as input.
Deletions occur before record creation within the same Process execution. If your Process both deletes old records and writes new ones, the old records are removed first, then the new records are written. This is the correct order for replacement scenarios.
