Skip to main content

Interaction flow basic

Salesforce flow ; Automation design; Interaction diagram

Updated this week

The Interaction Flow is a new diagram type in Elements that helps teams design and document automation logic. Built with Salesforce Flow iconography, it provides a visual and structured way to plan, communicate, and optimize automated processes across your systems.

What is an Interaction Flow?

An Interaction Flow diagram illustrates the logic behind process automation. It is ideal for:

  • Designing automation before building it in Salesforce or other systems

  • Visualizing logic flows with standardized Salesforce flow symbols

  • Aligning teams on automation requirements and functionality

  • Identifying optimization opportunities and potential risks in automation logic

Each flow element can include attributes and documentation to explain its function and context.

Who is this feature for?

This diagram type is especially useful for:

  • System Architects: To design scalable automation aligned with business needs

  • Salesforce Admins and Developers: To plan and validate automation before implementation

  • Business Analysts: To map business requirements to technical automation logic

  • Project Teams: To collaborate on process design without jumping straight into system configuration

Prerequisites

How to Create an Interaction Flow Diagram

To create an Interaction Flow:

  1. Click the “New” button in the diagrams menu, then “Create blank diagram”, and select “Interaction Flow” from the list of diagram types. Then click Next.

  2. Give your diagram a name and description to define the scope of your flow.

Supported Card Types

The canvas includes following shapes, mimicking Salesforce flow iconography:

  • Full Card: Includes attributes and a description field.

  • Start – Displays a user interface screen to collect input or show information.

  • Get Records – Retrieves records from Salesforce that meet certain criteria.

  • Create Records – Creates new Salesforce records.

  • Delete Records – Deletes Salesforce records.

  • Update Records – Updates existing Salesforce records.

  • Rollback Records – Cancels all pending record changes in the flow and rolls back the transaction, typically used when an error occurs or when a condition fails.

  • Assignment – Assigns values to variables or fields.

  • Decision – Branches flow logic based on conditions.

  • Collection Filter – Filters a collection of records based on criteria.

  • Collection Sort – Sorts a collection of records by field(s).

  • Loop – Iterates through each item in a collection.

  • Pause (Wait) – Delays the flow until a condition or time is met

  • Subflow – Calls and runs another flow.

  • Action – Performs an automated step (send email, call Apex, etc.).

  • Send Email – Sends an email from the flow.

  • Custom Error – Raises an error and rolls back changes.

  • Post to Chatter – Posts a message to Chatter.changes.

  • Add Prompt Instructions – Adds text (and merged flow resource values) to a prompt template during a template-triggered prompt flow.

💡Tip: You can use attributes on the card to document fields, variables, or high level logic you want to execute with proposed automation.

Drill Down to Detailed Diagrams

Each capability card can have a child diagram with more detail. Supported drill-down types include:

  • Interaction Flow

  • Data Model

This allows you to move seamlessly from strategy to execution.

📘 Example: A “Customer Management” capability card might drill into a Customer Journey Map or CRM system architecture.

Best Practices for Building Interaction Flows

To get the most out of your diagrams:

  • Use Salesforce flow icons consistently to make diagrams clear and recognizable.

  • Keep flows concise—break complex logic into modular sub-flows.

  • Add descriptions and documentation to clarify intent behind each action.

  • Validate flows with business stakeholders before implementation.

  • Use drill-downs to manage detail without cluttering the main flow.

Did this answer your question?