D365 FnO and CE Recording FAQ

Overview

This page captures practical best practices for recording and rerunning Microsoft Dynamics 365 Finance and Operations (FnO) and Customer Engagement (CE) flows in Leapwork Go.

The core goal is consistent across both products: record once, rerun reliably, and create or update fresh data on every execution without depending on stale values.

Core principle

A sequence is only reusable if the values it creates, searches, updates, closes, or deletes are dynamic where needed. A green run is helpful, but it is not proof that the application state is correct.


General Recording Guidelines

Do not hardcode business data

If the application creates a record with a name, number, ID, or reference, that value should usually not remain fixed unless it is truly static master data.

Examples include:

  • Account name

  • Contact name

  • Opportunity name

  • Sales order number

  • Customer reference

  • Created entity IDs

If the same value is reused in later runs, the flow may fail, update an old record, skip creation, or return errors such as 400, 404, or duplicate-data responses.

Common failure pattern

A recording works once because the original business value exists only during the first run. Later runs fail because the flow still points to the same old data.


Parameterize data that must be unique

Some D365 entities do not allow duplicates, or they behave unpredictably when the same visible business value is reused.

If the flow should create new data every time, make those values dynamic.

Recommended approaches include:

  • Add a timestamp to names.

  • Use a generated random suffix.

  • Store the created value and reuse it later in the same sequence.

Best practice

If a user types the value during recording and that value identifies a newly created record, assume it should be reviewed for parameterization.


Make delete flows rerunnable

If the recorded flow deletes an entity, later runs may fail because that same entity no longer exists.

Typical symptom

  • 404 Not Found

To make delete flows rerunnable:

  1. Create fresh data during the same run.

  2. Store the created value.

  3. Use that fresh value in the delete step.


Validate recordings with Preview Run

Before using Schedule or Timeline, validate the recording using Preview Run.

Recommended workflow:

  1. Record the flow.

  2. Save the sequence.

  3. Run Preview Run.

  4. Confirm that fresh data is created correctly.

If Preview Run is not stable, Schedule and Timeline will not be stable either.


Verify that the flow creates fresh data

A successful HTTP status alone is not enough.

Always verify the application outcome.

  • Was a new record actually created?

  • Was the correct value used?

  • Was the created record reused in later steps?

A healthy rerunnable flow creates or reuses the correct current-run values, and later steps depend on those fresh values rather than old recorded values.


What is the file size limit for HAR import?

The current implementation supports uploading HAR files up to a maximum size of 100 MB.

Large recordings exceeding this size cannot be imported. Complex or long-running flows may require splitting into smaller recordings.


D365 Customer Engagement (CE)

What is the main recording rule for CE?

Record the full user business flow after login, and make sure any newly created record can be reused later in the same sequence without hardcoding.

The recommended pattern is:

  1. Create data.

  2. Save it.

  3. Reuse the created data in later steps.

  4. Parameterize user-entered values that must be unique.


Example CE flow to record

Example: Verify Create Organization Chart

  1. Navigate to the CE URL.

  2. Log in with CE credentials.

  3. Click CRM Hub.

  4. Click Contacts.

  5. Click + New.

  6. Enter the first name and last name.

  7. Click Save.

  8. Click Accounts.

  9. Click + New.

  10. Enter the account name on the Summary tab.

  11. Click Save.

  12. Add a note in Timeline.

  13. Click Save.

  14. Open Org Chart.

  15. Click Skip, then Got it.

  16. Click + Add contact.

  17. Search for the contact created during the same flow.

  18. Select the contact.

  19. Click Add.

  20. Click Save chart.

  21. Click Save.

Important

Contact first name, last name, and account name should not remain fixed forever. The flow should reuse the contact created during the same run. Nothing should depend on old hardcoded record IDs.


Why does CE Preview Run succeed once but fail later?

Common causes include:

  • Hardcoded contact, account, or opportunity names.

  • Reuse of an old created entity ID.

  • Referencing a deleted record.

  • Duplicate business data that is not allowed.


What should I parameterize in CE?

Typically parameterize:

  • Names entered by the user.

  • Created titles.

  • Note subjects when they should be unique.

  • Any created record used later in search, lookup, update, or delete operations.


What if the CE flow uses search or lookup?

If the flow searches for a contact, account, opportunity, or another created record, the searched value should come from the current run.

Do not continue using the recorded display text.


What if Preview Run shows success but no new data is created?

Check the following:

  • Was the name value updated?

  • Did the flow accidentally reuse an old record?

  • Did the flow open an existing record instead of creating a new one?

  • Was the created value correctly passed to the next APIs?


What if the CE flow deletes or closes data?

If the flow closes, wins, deactivates, or deletes an entity, later steps may fail if they still use old data.

Reruns may also fail unless the created data is fresh every time.


What if the required value in a CE API response is in binary format?

In some D365 CE API responses, required values may be returned in binary format within the response body.

Currently, Leapwork does not support parameterization of binary response values.

Consider the following workarounds:

  • Check whether the same value is available in a non-binary (readable) field in the response.

  • Use alternative APIs or steps where the required data is exposed in a parameterizable format.

  • Avoid designing flows that depend on binary-only values for reuse across steps.

Best practice

Verify during recording whether critical data needed for later steps is available in a parameterizable format. If not, redesign the flow to avoid dependency on such values.

What is the most important API in FnO?

The most important FnO API is ProcessMessages. This API handles most application events and uses its payload and event type to represent what the user action is doing.

FnO troubleshooting starting point

If a flow behaves unexpectedly, review the ProcessMessages steps first.


What is the most important recording rule for FnO?

The sequence must start correctly from the first ProcessMessages event.

Best practice

The first ProcessMessages API in the recorded sequence should start from sequence 1.


Why is sequence 1 important in FnO?

FnO uses message sequencing for event processing. If the first ProcessMessages call is not aligned correctly, later actions may replay incorrectly even when the run appears successful.


What if the FnO flow runs successfully but no entity is created?

Common reasons include:

  • Duplicate business data.

  • Missing parameterization.

  • The first ProcessMessages sequence is incorrect.

  • Business state in the application blocks creation.

Best practice

Review the first ProcessMessages step.

Parameterize fields that must be unique.

Confirm that the business entity is truly created in the application.


What should I parameterize in FnO?

Parameterize business values that may not allow duplicates, such as:

  • Customer reference

  • Item reference

  • Sales order related values

  • Names or codes entered by the user

Also allow the system to reuse transactional values captured during the run, such as rootId and targetId. These are transactional values and are expected to flow forward from earlier steps.


What is ms-dyn-sid and why is it important?

ms-dyn-sid is an important FnO header or session value.

When working with ms-dyn-sid:

  • Keep an eye on ms-dyn-sid.

  • The next request should use the latest value returned by the previous response.

  • Continue using the same value until a new one is returned.

If this value becomes stale, later requests may fail or behave incorrectly.


Why does FnO Sales Order recording sometimes fail?

Some customers struggle to record Sales Order creation when open or pending sales orders already exist.

Best practice

Close or finish earlier open sales orders before recording a new one.

Record a full flow that ends in a non-open state when possible.

Examples of better end states include:

  • Invoiced

  • Closed

  • Completed

This makes reruns more stable.


What if a Sales Order flow creates data but later runs fail?

Check the following:

  • Is the earlier sales order still open?

  • Is the same business data being reused?

  • Is the flow parameterized properly?

  • Does the end state leave the application ready for the next run?

When should I use Preview Run?

Use Preview Run immediately after recording or after changing parameterization.

Preview Run helps confirm that:

  • Fresh data is created.

  • Dynamic values are passed correctly.

  • No old deleted record is reused.


When should I use Schedule or Timeline?

Use Schedule and Timeline only after Preview Run is stable.

The recommended workflow is:

  1. Record the flow.

  2. Run Preview Run.

  3. Fix parameterization if needed.

  4. Run Preview Run again.

  5. Use Schedule or Timeline.


What should I check before Timeline?

Before running a sequence using Timeline, verify that:

  • The sequence is rerunnable.

  • Names are parameterized.

  • Created IDs are reused correctly.

  • Delete or close flows use fresh data.

  • No old hardcoded value is left in the sequence.


Troubleshooting Checklist

Use the following checklists when troubleshooting recording or rerun issues.

Customer Engagement (CE) checklist

Check the following:

  • Is the created contact, account, or opportunity name unique?

  • Is the flow reusing the current-run value instead of the recorded old value?

  • Does any later step still point to an old ID?

  • If a record was deleted or deactivated, is the next run trying to use it again?


Finance and Operations (FnO) checklist

Check the following:

  • Does the first ProcessMessages step start from sequence 1?

  • Are unique business values parameterized?

  • Are rootId and targetId flowing correctly from previous steps?

  • Is ms-dyn-sid updated from the latest response?

  • Are older open sales orders blocking the new recording?


Quick Answers

Can I record once and run many times without changes?

Only if the flow is rerunnable and properly parameterized.


Do all created values need parameterization?

Not all values, but any value that must be unique or reused later in the same flow should be dynamic.


If a run is green, does that mean data was created correctly?

No. Always verify that the correct fresh data was actually created in the application.


What is the most common reason for rerun failure?

Old hardcoded data still being used.


What is the first thing to check in FnO?

The first ProcessMessages step and its sequence.


What is the first thing to check in CE?

Whether the created business data and created entity references are fresh and not hardcoded.