Flows often reference workspace resources like contact fields, groups, channels, or variables. If one of those resources is deleted or renamed, your flow can show a missing dependency. RapidPro.app can sometimes keep the flow running, but missing dependencies can lead to incomplete messages, skipped updates, or confusing user experiences.
5–6 min read
Flows
Updated on: 18/12/2025
Fix missing dependencies fast (without guessing)
If you already understand what fields/groups/channels are and just need the fast path, follow this:
- Scan the canvas for red nodes and warning highlights
- Open Flow Issues and jump to each broken node
- Open the node to read the exact error (what is missing)
- Fix the dependency (field / group / channel / expression) and save
- Re-test in the simulator and confirm updates/routes
You’re done. Once Flow Issues is clear, your flow is safe to run and easier to maintain.
Step-by-Step Process
When a flow depends on something that no longer exists, you’ll typically see:
- A node/action title highlighted in red
- A warning message when you open the node
- A Flow Issues tab appearing on the right side of the editor
[CAPTURE: Flow editor showing a node title in red, indicating a missing dependency.]
A missing dependency happens when a flow references something that is no longer available, for example:
- A deleted contact field referenced like
@fields.age - A deleted contact group used in a split or group action
- A removed channel referenced in a send or routing action
- Any other workspace resource your flow depends on
Technical Detail: Flows may continue running even with missing dependencies, but outcomes can change:
- A field update may do nothing (because the target field no longer exists).
- A message may render without a variable value (leaving blanks).
- A split may behave unexpectedly if the operand no longer resolves correctly.
- Click the red node in the flow editor.
- Open its configuration panel.
- Look for an error message such as:
- “Cannot find a field for
@fields.<field_name>”
- “Cannot find a field for
[CAPTURE: Node edit panel showing an error message like “Cannot find a field for @fields.whatever_field_name”.]
- In the flow editor, look for the Flow Issues tab (red) on the right side.
- Click Flow Issues to open the list.
- Review all missing dependencies in the panel.
- Click each issue to jump directly to the affected node.
[CAPTURE: Right-side panel showing a red “Flow Issues” tab, expanded to show a list of issues.]
Scenario A: Missing contact field
Problem: The flow references a field like @fields.age, but the field was deleted.
Fixes:
- Option 1 — Recreate the field: Recreate the contact field with the same name/key (recommended if many flows use it).
- Option 2 — Update the flow to use an existing field: Edit the node and replace the missing variable with the correct field.
- Option 3 — Remove the reference: If the value is no longer needed, remove it from the message, expression, or update action.
[CAPTURE: Contact fields management screen showing a field being recreated, OR a flow node being edited to replace @fields.age.]
Scenario B: Missing contact group
Problem: A group used in “Add to Group”, “Remove from Group”, or a group-based split no longer exists.
Fixes:
- Recreate the missing group, or
- Edit the flow to use another existing group, or
- Remove the group action if it is no longer relevant.
[CAPTURE: Group selection dropdown in a node showing a missing group replaced with an existing group.]
Scenario C: Missing or changed channel
Problem: The flow references a channel that was removed or replaced.
Fixes:
- Confirm the workspace still has the needed channel connected.
- Update the flow configuration to use a valid channel or channel-agnostic sending behavior (based on your workspace setup).
- Re-test message sending with the simulator and (if possible) a real channel test.
[CAPTURE: Workspace channels list showing active channels and a flow node referencing a valid sending option.]
Scenario D: Missing variable or invalid expression
Problem: An expression references something that no longer resolves (field, result, or context variable).
Fixes:
- Identify the missing token in the expression (examples:
@fields.*,@results.*). - Replace it with the correct variable or remove the logic.
- Use the simulator action log to confirm values are set as expected.
[CAPTURE: Expression editor showing a missing variable being replaced with a valid one.]
- Reopen Flow Issues to confirm the list is cleared (or reduced).
- Run the flow in the simulator.
- Check:
- Message rendering (no missing blanks)
- Contact updates (fields/groups updated correctly)
- Split routing works as expected
[CAPTURE: Simulator panel showing a test run and the action log confirming updates.]
Common Issues & Quick Fixes
Problem: The flow still runs, so do I really need to fix this?
Fix: Yes—missing dependencies often create silent failures (missing field updates, broken personalization, wrong routing). Fixing issues early prevents downstream data and reporting problems.
Problem: I can’t find where the missing dependency is used.
Fix: Use the Flow Issues panel and click each entry to jump to the node. Search visually for red nodes across the canvas. If the issue is inside an expression, open the node editor to view the exact token.
Problem: Dependencies break after importing flows.
Fix: This usually means the destination workspace is missing contact fields, groups, channels, or integration settings. Recreate required resources, then re-check Flow Issues. Maintain a simple dependency checklist for flows you share between environments.
