Logic Composer
Dependencies
Understand how Logic Fabric tracks what uses what, and why it refuses to delete artifacts that are still in use.
Logic Fabric records what each artifact uses: the blocks a flow calls, the configuration values a recipe reads, the service connection a flow calls, and so on. It uses that record to stop you from deleting something that other logic still needs, so a delete can never silently break a recipe, a schedule or a business process.
How tracking works
Section titled “How tracking works”You do not maintain dependencies yourself. Every time you save a logic block, logic flow, logic recipe or business process, Logic Fabric updates the list of artifacts it uses. Recipe saves also record the configuration values and localized resources the recipe uses.
What cannot be deleted
Section titled “What cannot be deleted”| You try to delete… | It is refused while… | Message |
|---|---|---|
| Logic block | another block, a flow, a recipe or a business process uses it | Logic block is in use. Remove all dependencies before deleting. |
| Logic flow | another flow, a recipe or a business process uses it | Logic flow is in use. Remove all dependencies before deleting. |
| Logic flow | a schedule or an event handler runs it | Dataverse’s standard message that the row is referenced by another row |
| Configuration | a block, flow or recipe uses it | Configuration entry is in use. Remove all dependencies before deleting. |
| Localized resource | a block, flow or recipe uses it | Localized resource entry is in use. Remove all dependencies before deleting. |
| Service connection | a flow uses it | Service connection entry is in use. Remove all dependencies before deleting. |
| Event definition | a logic flow publishes it | Event definition is in use by a logic flow. Remove all dependencies before deleting. |
| Business process | another business process (any version), a logic flow or a logic recipe uses it | Business process is in use by another business process, logic flow or logic recipe. Remove all dependencies before deleting. |
| Logic API version | it is the baseline of another version | — |
| Project | any artifact still belongs to it | Dataverse’s standard message that the row is referenced by another row |
Logic blocks that are called only from an event handler’s Logic Flow Input values are not tracked. Such a block can be deleted while a handler still uses it, which breaks the handler, so check your event handlers before you delete a block.
Inside an editor, trying to delete an item that is in use shows: “You are not allowed to delete this item since it is already in use”.
Delete something that is in use
Section titled “Delete something that is in use”- Find what uses it. Open the artifacts you expect to depend on it, for example the recipes on the table it serves or the flows in the same project.
- Change each of them to stop using it (remove the step, the recipe item or the expression that refers to it), or delete them first.
- Save each changed artifact. Saving updates its dependencies.
- Delete the artifact again.
For a project, delete every block, flow, recipe, configuration, localized resource, service connection, schedule, event definition, event handler, business process and Logic API in it first.
Example
Section titled “Example”You want to retire the Legacy Discount decision table. Deleting it is refused because the Price Quote flow still calls it.
- Open
Price Quote, replace the step that callsLegacy Discountwith one that callsQuote Discount, and save. - Delete
Legacy Discount. The delete now succeeds.