# Choosing automation tools and migrating to Flow

*Platform Administrator II Study Guide · Process Automation · Last updated October 26, 2026 · https://www.certifyforce.com/study-guide/platform-administrator-ii/process-automation/choosing-automation-tools-and-migrating-to-flow*

How to pick record-triggered Flow, Flow plus invocable Apex, Apex triggers, Change Data Capture, a scheduled job or a formula field, when to bypass flows with a custom permission, what Summer '22-era Workflow Rules and Process Builder could do, and how to retire them with the Migrate to Flow tool.

- Certification: Salesforce Platform Administrator II
- Exam section: Process Automation
- Study guide: https://www.certifyforce.com/study-guide/platform-administrator-ii

**Official exam objective:**

> Given a complex scenario, determine the solution using the best tool or combination of tools to solve a business problem.

## What the exam expects

- Choose Flow, Flow plus invocable Apex, or Apex triggers from an object's automation density.
- Spot the gaps that force Apex: transaction control, undelete, heavy in-memory or batch processing.
- Split a requirement across before-save, after-save, asynchronous and scheduled paths, Change Data Capture or a scheduled job.
- Bypass flows with a custom permission; choose a Flow Approval Process or a classic one.
- Read Summer '22-era Workflow Rules and Process Builder stems, replace them, and know what Migrate to Flow converts.
- Choose a formula field when a derived value needs no save.

Key terms: **automation density** (automations, record volume and downstream DML on one object); **hybrid pattern** (a flow calling invocable Apex); **before-save flow** (optimized for fast field updates); **cross-object formula** (a formula that reads fields on related records).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Before-save elements | Assignment, Decision, Get Records, Loop; Custom Error per the newer page | [Record-Triggered Flow Considerations](https://help.salesforce.com/s/articleView?id=platform.flow_considerations_trigger_record.htm&language=en_US&type=5), [Custom Error Element](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_custom_error.htm&type=5) |
| CDC defaults | Maximum of five objects by default; events replay up to 72 hours | [Decision Guide](https://architect.salesforce.com/docs/architect/decision-guides/guide/record-triggered) |
| Workflow Rules and Process Builder | Unsupported since December 31, 2025; existing ones still run | [End of Support](https://help.salesforce.com/s/articleView?id=001096524&language=en_US&type=1) |
| Workflow actions | Email alert, field update, outbound message, task | [Workflow Terminology](https://help.salesforce.com/s/articleView?id=platform.workflow_terminology.htm&type=5) |
| Cross-object formula reach | Up to 10 relationships away | [Cross-Object Formula](https://help.salesforce.com/s/articleView?id=platform.customize_cross_object.htm&type=5) |

## Check yourself

- Why does a business-hours calculation that admins must own use an after-save flow calling invocable Apex?
- Why is a custom permission in the entry formula better than deactivating flows for a load?
- Why is calling Database.executeBatch from an Apex trigger an anti-pattern?

## Sources

- [Record-Triggered Automation (Decision Guide)](https://architect.salesforce.com/docs/architect/decision-guides/guide/record-triggered)
- [Salesforce Workflow Rules & Process Builder End of Support](https://help.salesforce.com/s/articleView?id=001096524&language=en_US&type=1)
- [Migrate to Flow Tool Considerations](https://help.salesforce.com/s/articleView?id=platform.migrate_to_flow_tool_considerations.htm&language=en_US&type=5)
- [Record-Triggered Flow Considerations](https://help.salesforce.com/s/articleView?id=platform.flow_considerations_trigger_record.htm&language=en_US&type=5)
- [Custom Error Element](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_custom_error.htm&type=5)
- [Scheduled Paths](https://help.salesforce.com/s/articleView?language=en_US&id=platform.flow_concepts_trigger_scheduled_path.htm&type=5)
- [Automate Your Approvals with Flow Approval Processes](https://help.salesforce.com/s/articleView?language=en_US&id=platform.automate_automated_approvals.htm&type=5)
- [Limits and Considerations for Classic Approval Processes](https://help.salesforce.com/s/articleView?id=platform.approvals_considerations.htm&language=en_US&type=5)
- [Workflow Terminology](https://help.salesforce.com/s/articleView?id=platform.workflow_terminology.htm&type=5)
- [Workflow Rules](https://help.salesforce.com/s/articleView?id=platform.customize_wf.htm&type=5)
- [Equivalent Features in Flows and Workflow Rules](https://help.salesforce.com/s/articleView?id=platform.automation_tools_flow_vs_workflow_feature_mapping.htm&language=en_US&type=5)
- [Process Builder](https://help.salesforce.com/s/articleView?id=platform.process_overview.htm&type=5)
- [Add Actions to Your Process](https://help.salesforce.com/s/articleView?id=platform.process_action.htm&type=5)
- [Build a Formula Field](https://help.salesforce.com/s/articleView?id=platform.customize_formulas.htm)
- [What Is a Cross-Object Formula?](https://help.salesforce.com/s/articleView?id=platform.customize_cross_object.htm&type=5)
- [Formula Field Limits and Restrictions](https://help.salesforce.com/s/articleView?id=platform.formula_field_limits.htm&type=5)
- [Formula Data Types](https://help.salesforce.com/s/articleView?id=platform.choosing_a_formula_data_type.htm&type=5)
- [Formula Operators and Functions by Context](https://help.salesforce.com/s/articleView?id=platform.customize_functions.htm&type=5)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 19 linked practice questions, and unlimited timed mock exams are included with the Platform Administrator II pack (USD $19): https://www.certifyforce.com/practice-exams
