Best Of
Re: Acing the Professional Solution Architect recertification
Thank you @marynadunets and for sharing your experience . After reading your insights, I feel much more confident and fluent in approaching for SA Exam.

Workflow Advanced: Coordinating parallel approvals
Author: Dave Waller, Principal Product Manager at Anaplan.
With the introduction of parallel tasks, Anaplan Workflow Advanced can bring additional efficiencies by parallelizing process steps that would ordinarily have to run in sequence. This functionality can help when using Anaplan Data Orchestrator to dramatically reduce the overall running time of data movement steps that would normally run sequentially:
However, parallel tasks can be applied to multi-stakeholder planning processes to accelerate planning, provide users with unique and tailored experiences, and drive collaborative engagement.
Examples of this may include a distributed approval process where a new CAPEX project requires commercial approval, marketing approval, and production approval before it can be progressed.
Each of these approvals can take place at the same time but, given the nature of each stakeholder, they all require a unique UX page and a unique set of instructions.
Parallel workflow steps, and value-based decisions are only available as part of Workflow Advanced.
How-to guide
This guide assumes a working knowledge of Workflow, including the build and setup of:
- End user triggered workflows
- Line item driven decision steps
- Skippable decision steps
- Configuring decision steps with Boolean data writes
We’ll look at a scenario where end users are asked to create and submit new project proposals as part of a simple CAPEX use case. Once submitted, the project will be issued to three independent approvers who will each review the proposal based on their area of expertise. Once each approver has provided input and completed their review, we’ll consolidate those results and decide how best to proceed.
This article will guide you through the steps required to build this scenario and will provide two approaches to handling the consolidated review, one based on asking a final reviewer to analyze the previous approvals and make a final decision, and a second where a calculated Boolean will be examined to determine the overall approve/reject decision.
UX and model requirements
This example leverages several stakeholders who all need their own experiences building as UX pages. We will need:
- An end user UX page to support the creation and submission of new promotions
- A commercial review page to enable commercial review approval
- A marketing review page to support addition of marketing milestones and approval of the project
- A production review page to ensure product manufacturing are happy to approve
- A final review page that helps a user in Operations review the approvals before adding a final approval, rejecting the project, or sending it back for rework
A number of model components are also required to support this scenario, starting with a list into which new projects will be added.
We will also define our approvers in a lookup module — this one is simple but could be extended to support a wider range of approvers so our projects can have them assigned based on model logic.
Image: A lookup module defining our approvers
We need a module to hold the details of our projects, and we’ll combine this with tracking data and approver details to keep things all in one place. We need to make sure this module is dimensioned by our projects list.
If we were to split this into multiple modules (one for project data and one for workflow data) then they both need to be dimensioned by the same projects list.
Image: The module to hold project data and workflow progress tracking information
This is how our projects module looks, with combined line items for defining our projects as well as tracking the progression of projects through our approval process:
Line item | Use | Formula |
---|---|---|
Project name | Text – the name of the project input using a form | - |
Project cost | Currency – the investment required for the project input using a form | - |
Project impact | Percentage – the anticipated revenue impact of the project | - |
Submitted | Boolean – used to track which projects have been submitted for review | - |
Commercial approver | User list – the user to complete the commercial approval |
|
Commercial approved | Boolean – used to track when commercial approval is complete | - |
Commercial rejected | Boolean – used to track if commercial approval is rejected | - |
Marketing approver | User list – the user to complete the marketing approval |
|
Marketing approved | Boolean – used to track when marketing approval is complete | - |
Marketing rejected | Boolean – used to track if marketing approval is rejected | - |
Production approver | User list – the user to complete the production approval |
|
Production approved | Boolean – used to track when production approval is complete | - |
Production rejected | Boolean – used to track if production approval is rejected | - |
Final reviewer | User list – the user to complete the final review and approval |
|
Final review approved | Boolean – used to track when the project is completely approved | - |
Final review rejected | Boolean – used to track if the project is rejected at the final stage | - |
We could also extend the scenario to only require commercial approval if the investment required for the project is greater than $25,000. This adds a simple formula to the “Commercial approver” line item:
Line item | Use | Formula |
---|---|---|
Commercial approver | User list – the user to complete the commercial approval |
|
We’ll use this in the rest of the example to show how a single, parallel step can be set to skip if it is no longer needed.
Workflow template
Our workflow template starts simple and includes a machine task that writes to a Boolean cell to identify the project has been submitted. The submission of projects is from an action button on a UX page, so our machine task has the “Projects” context set to “Sync to workflow”. This means that the project being reviewed will be automatically “passed into” the workflow and used to identify the specific data points to be written to with data write actions or used to look up assignees and approvers.
Once marked as submitted, we can progress projects to our three approvers.
Before we can add additional approval steps to run in parallel, we need to start the configuration of our commercial approval. We first need to provide a title and some instructions before selecting the appropriate page to use for the review. We also need to disable branching by toggling the “Continue workflow on rejection” switch to the “off” state.
Image: The first approval step with its initial configuration in place
Both branching and stopping a workflow on rejection are disabled when using decision steps in a parallel block. This ensures that no one part of the parallel block can prevent others from executing. Instead, you can leverage Boolean data writes and a final decision step to build your process, as we’ll do later.
We can now instruct Workflow to execute our additional approval steps in parallel by clicking the (+) button to the side of the step we’ve just added.
Image: This shows the first approval step added to the template with the (+) highlighted to add a parallel step
By selecting to add a second approval step you will see that both have now been wrapped in a “parallel block” to indicate that each step will be issued in parallel. We can click to add our third approval step to the parallel block before configuring each one.
Image: Three approval steps added in parallel
Our first approval, although all three will be triggered at the same time, is the commercial approval which we have pointed at our commercial review page and set to assign based on a line item.
When assigning the approval step using a line item, we can specify the user list formatted line item to use. In this case, we have selected our “Commercial approver” line item.
Our commercial approval step is also configured to write to the “Commercial approved” Boolean if it is approved, and the “Commercial rejected” Boolean if it is rejected. We have also set the “Projects” context to “Sync to workflow” so that the project being reviewed can be used to pinpoint the exact data points to read and write to.
Image: The Commercial approval step with “Skip on blank assignee” enabled
Finally, we want to set the approval step to “Skip on blank assignee” so that we can respect the model logic that drives whether an approval of this type is needed or not.
The other two approval steps can be configured in the same way, each using their own page and line items, remembering to sync the “Projects” context to workflow for each one.
Image: All three approval steps configured inside a parallel block
The final step in our simple approval process is to provide a final reviewer with an interface that lets them review each of the previous approvals before deciding on whether the project should be fully approved or not.
To complete this step, we’ve built our reviewer a bespoke UX page that provides details of the project as well as simple visualisations to indicate whether commercial, marketing, and production approvals were required or gained. This has involved the creation of some additional line items to support the required UX cards and conditional formatting and is something that can, if needed, be automated based on upcoming functionality.
A final decision step is added to the template and configured to point to the correct page, using a line item in a module to drive the approver. The module configuration has selected the “Final reviewer” line item for the user and the “Final review approved” / “Final review rejected” Booleans to track the outcome of the review. Again, the “Projects” context is set to “Sync to workflow” to ensure the correct data points are read and written to.
Image: The completed workflow template with parallel approval steps and a final review
This concludes the build of the workflow template. It can, of course, be enhanced with other steps like model actions to move approved projects into different modules for reporting, or line item driven notifications to project submitters. But, for the purposes of this example, we can leave the process template there.
Extending the workflow template with send-back loops and automated decisions
This process is particularly “one way” and doesn’t provide any mechanisms for contributors to make changes should their project be rejected. This can be addressed using the send-back functionality that will provide, in addition to “approve” and “reject”, a third option to allow the final reviewer to “send back” the submission to a previous step in the process.
By adding an initial “Edit project” task at the start of the process, carefully designed to be driven by a line item and set to “Skip on blank assignee” or an additional value-based decision step, it will be possible to create a “send back loop” from the final review. This will engage the original user with a notification allowing them to make changes based on commentary provided by the final reviewer before submitting their project back into the approval flow.
Image: An enhanced workflow template with a send-back loop from the final approval step along with an optional “edit project” step that is only used if work is sent back
If the need to bring in a final reviewer, to review the decisions made by domain expert approvers, is something you’d like to avoid in your process then you can automate this final decision step based on a Boolean value in a model.
Replacing the final approval step with a value-based decision, it’s possible to empower Workflow to review previous decisions and direct the flow of the process as required.
Image: Using a value-based decision step to automate the final approval decision
This will let you use any logic needed to analyse the previous approvals, adding appropriate weightings and rules, to determine whether the final decision is one of approved or rejected.
Workflow triggering
The process of creating new projects will be end user triggered and will make use of an action button on the main input page.
Image: An end user page for the creation of new projects
As a Page Builder we’ve selected to edit our page and then selected to edit the action card that contains our project creation form button.
We can now use the “Actions” tab to select new actions to add to the action card, including which Workflow templates we want them to be able to trigger.
The easiest way to track down the Workflow template, especially on an active tenant, is to provide a search keyword and then open the “Workflow templates” section to choose the relevant template (or templates of you want to provide access to more than one).
Finally, the Page Builder can use a combination of the “Manage” tab as well as the button styling options to create a clear call-to-action for end users. The Page Builder could even go a step further and select a “line item driver” for the button – a Boolean line item that controls whether the button is clickable or not. By adding this, builders can control, using model logic, whether the new project is in a state where it can be submitted into an approval workflow – are all fields populated, do the values fall within acceptable thresholds, etc.
Image: An end user page for the creation of new projects, with the page-level context selector for “Projects”
As our Workflow template steps have the “Projects” dimension set to “Sync to workflow”, each time a workflow is started using an action button on a page the selected item in the “Projects” context selector is passed into the workflow. This will then be used to control the specific data points workflow will look at to determine assignees, approvers and data writes.
Download step-by-step PDF
A comprehensive step-by-step walk-through of this process, with additional photo examples, can be downloaded here:
Questions? Leave a comment!
…………..
Related Workflow content:
Re: Acing the Professional Solution Architect recertification
Such a great read! Thank you Maryna, for sharing your experience with the new recertification process. It's great to see how the updated format reinforces real platform expertise while helping learners feel confident and prepared.
Congratulations on your incredible result, and thanks to the Academy team for spotlighting this story — it's a great resource for anyone preparing for their next exam!

Acing the Professional Solution Architect recertification
When the Anaplan Academy team first read Maryna Dunets' article on the new recertification process, we were thrilled to learn about her positive experience with the updated exams. Our goal has always been to design an exam that accurately measures a candidate’s ability to use the platform while minimizing unnecessary stress. Although it is now proctored to maintain the certification’s credibility given the prevalence of digital cheating, its purpose remains simple: to ensure that Anaplan certifications reflect genuine expertise in the platform.
We wanted to take a closer look at Maryna’s experience preparing for and completing the recertification to share practical insights that help our learners feel confident with the new process. We’ve also included links to all the resources she mentioned at the end of this article to support learners as they prepare for their own exams.
Q: First of all, congratulations on getting 44 out of 45 on the Professional Solution Architect recertification exam. That is an incredible achievement and a testament to your expertise. How did this exam compare to your expectations?
A: The exam was much easier than I expected. First of all, I'm not a native English speaker, so I was a bit worried about the wording of the questions. Luckily, the statements were very straightforward — there were maybe only 2–3 words I didn’t know, but the meaning was clear from the context. Another thing I was afraid of was getting too many "multi select” questions — it can be tricky when you're unsure how many options are correct. So, it was a huge relief to realize the exam clearly indicated the number of correct answers in most cases of multiple choice, which made it much easier to focus on applying knowledge rather than second-guessing the structure of the questions.
Q: Many candidates feel nervous before taking the exam. What tips do you have for those who know the material but are anxious about testing?
A: The best tip I can give is to take the free Practice Exam in the Anaplan Learning Center before diving into any serious studying or getting nervous. When I passed it with 10/10 on the first try, I felt confident in my knowledge and got a much clearer idea of how to structure my preparation for the real exam. Big thanks to the team who created it — it really helps to understand the format and removes a lot of the doubt.
Q: Did you learn anything new while preparing for the exam?
A: To be honest, I didn’t learn anything new about the classic engine, UX, or the Anaplan Way during my preparation. But I’m really glad it motivated me to finally spend some time exploring newer features — ADO (Anaplan Data Orchestrator) and Workflow. I had heard a lot about them before, but never took the time to dive in properly. Preparing for the exam gave me the push I needed to look into these areas and understand how they fit into the broader solution design process.
Q: Which of the practice materials or resources did you find most helpful in preparing for the exam?
A: Let me rather tell you about the approach I took to prepare for the exam. First, I read the Study Guide and split the topics into two parts — the ones I had a lot of experience with and the ones I hadn’t worked with much or hadn’t touched in a long time. To be honest, I didn’t do any extra preparation for the first part. For the second part, I've passed the corresponding courses in the Anaplan Learning Center and used a few articles from the Anaplan Community, especially those recommended for the Certified Master Anaplanners. So that was it!
Q: You touched on this in your article, but many candidates are concerned that they have not worked directly with ADO or Workflow. What would you say to ease their concerns?
A: I found the Anaplan Data Orchestrator and Workflow courses in the Anaplan Learning Center very helpful. I set aside a few days to go through them with extra focus and attention, since it was completely new knowledge for me. In my experience, completing these courses was more than enough to successfully pass the Professional Solution Architect recertification even if there is no practical experience yet.
Q: Finally, what is one piece of advice you would give to someone taking the exam for the first time?
A: I really liked the option of taking the exam at a Kryterion testing center — there I felt more focused and had fewer concerns about potential technical issues during the exam. Once the date was set, there was no room for procrastination. So my advice would be: just start moving forward — pick a convenient exam date, build a preparation plan and pass the exam in the testing center if the option is available for you. It's easier to get started once a deadline is set.
Wishing the best of luck to everyone taking this step!
Exam Resources

Create your own Default Grid template
I spend a lot of time reconfiguring the colours on grids to match company colour schemes. What would be great is if you could create or edit at least one default template for a grid card in the app layer, this would be much better. I know you can save card templates but that takes more time to then readjust to the new grid you want to display, setting your own template would be a great improvement.
Re: How to integrate Anaplan to AWS
HI Rjella,
Yes, you have to download Anaplan Connect (API) in your AWS server.
Just go through the pre-requesties and installation guide - https://help.anaplan.com/anapedia/Content/Downloads/DL_Downloads.html?_ga=2.93860510.2032025974.1549288705-12490589.1530592713
- https://community.anaplan.com/t5/Academy-Classes/Anaplan-Connect/ta-p/27281
Once it is installed in your server, you can write batch sripts/Shell scripts to do import or export from Anaplan to your server.
Hope this would be helpful for you!.
Thanks
Kavin
Activity Record of List Members
Currently there is no ability to see a detailed record of the list members created after running an import into a list - you can only see that X number of members have been created or updated. Additionally, there is no record of the DateTime that list members were created. Including a Created Date and Time (UTC) column and a Modified Date and Time (UTC) in the Grid View of Lists would solve these shortfalls.
Re: Share your data integration best practices — September 2025 Community Challenge
Tips on what NOT to do with Anaplan Data Orchestrator (ADO) and what you should do instead (based on my personal experience)
DON'T ❌ | WHY ❓️ | DO INSTEAD 👍️ |
---|---|---|
Import your entire database | Impact on performance + storage allowance | Define relevant data scope |
Create a new source data for each new file | Redo mappings manually + dataset allowance | Use sync data to refresh your existing source data |
Map a link directly to a source data | No transformation possible | Always use a transformation view |
Keep all fields in string type | Possible format error | Use the relevant format type for each field in the transformation view |
Concatenate multiple fields to define the ID key of a transactional list | 60 character limit | Use the HACH function |
Run links one by one in ADO | Time-consuming + run in the wrong order | Create workflows to run links in the right order automatically |
Duplicate links for each models | Time-consuming + links daily usage allowance | Use a Data Hub to centralize and redistribute data to spoke models |
Re: Share your data integration best practices — September 2025 Community Challenge
Structural Best Practices
1.Use Staging Modules
- Always route incoming data through staging modules before pushing it into calculation modules.
- This allows for validation, transformation, and rollback without disrupting core logic.
2. Design for Scalability
- Avoid hardcoding list items or dimensions.
- Use dynamic naming conventions and modular actions that can scale across models and workspaces.
3. Minimize Model Saves
- Large imports can trigger frequent model saves, which block other actions.
- Reduce save frequency by optimizing list sizes and using efficient import structures.
Integration Process Best Practices
1. Automate with Tools
- Use Anaplan Connect, REST APIs, or ETL platforms like Informatica, MuleSoft, ADO for automation.
- Ensure secure authentication and encrypted data transfers.
2. Validate Before Import
- Perform data quality checks outside Anaplan to avoid importing corrupt or incomplete data.
- Use flags and error logs to catch anomalies early.
3. Monitor and Audit
- Set up logging and monitoring for all automated jobs.
- Use centralized dashboards or external tools to track job status and failures.
Best Practices for ADO Data Integration
1.Centralize Your Data Flow
Use ADO as the single orchestration layer to push validated data into Anaplan.
Avoid duplicating staging models—ADO allows centralized storage and transformation.
2. Design Reusable Pipelines
Externalize transformation logic from models into ADO pipelines.
Build modular, reusable workflows that can be triggered across multiple models.
3. Push-Based Scheduling
Shift from pull-based (Anaplan-triggered) to push-based orchestration.
Trigger data flows from external systems when data is ready, improving reliability and timing.
4. Use Built-In Transformations
Leverage ADO’s UI-driven transformation tools—filters, joins, formulas—without writing custom scripts.
Automate repeatable transformations to reduce manual effort and errors.
Re: Share your data integration best practices — September 2025 Community Challenge
👉️My Beginner Approach to Anaplan Data Integrations
When I first practiced imports during Level 1 and 2 training, I started with simple CSV files as my source. I made sure the column headers matched the list or module names in Anaplan, which made mapping straightforward and avoided errors during the import. For exports, I created dedicated saved views in the modules, so I could pull exactly the data I needed without including extra fields.
⚡️I prefer using CloudWorks for first integrations because it’s built into Anaplan, doesn’t require scripting, and allows me to schedule imports and exports easily. Anaplan Connect seems more powerful, but since it involves command-line scripts, it’s something I plan to explore after I’m comfortable with basic imports and saved views.
💡A key learning so far is to always check import logs. Even with small test files, I’ve seen rows fail to load because of tiny mapping mistakes reviewing the logs helps me fix issues quickly and ensures the data is accurate.