# Testing & Debugging

There is no built-in preview mode in the Workflow Builder today. The most reliable way to test a workflow is to create a **test user** with the target role and log in as them in an incognito browser window. The Page Builder's canvas is the next-best thing for layout-only checks.

## When you'd use this

* Before publishing a new workflow.
* Before swapping the published workflow for a role.
* After a significant Page Builder change.
* When a user reports a problem and you need to reproduce it.

## Set up a test user

{% stepper %}
{% step %}

### Pick a NetSuite entity for testing

A throwaway employee or contact record in NetSuite, named clearly — e.g. *Test Cashier — West*. Don't use a real user's record.
{% endstep %}

{% step %}

### Provision them in the Client Admin

**User Management** → **Give User Access**. Pick the entity type, search for the test entity, assign the role tied to the workflow you're testing, set a password if required.
{% endstep %}

{% step %}

### Note the credentials

Record the email and password somewhere safe. You'll reuse this account for every test on this role.
{% endstep %}
{% endstepper %}

## Run the test

{% stepper %}
{% step %}

### Open an incognito window

Use a private/incognito browser window. This avoids any session contamination from your admin account.
{% endstep %}

{% step %}

### Log in as the test user

Navigate to the User Portal login URL. Sign in with the test user's credentials.
{% endstep %}

{% step %}

### Walk through every page

Check:

* Every module in the workflow is reachable from the navigation.
* Pages load without errors.
* Forms accept input and validate correctly.
* Buttons and actions work.
* Charts and reports show data.
* Layout looks reasonable on the screen size your users will use.
  {% endstep %}

{% step %}

### Test the unhappy paths

* Submit an empty form. Is the error message clear?
* Search for nothing. Does the empty state make sense?
* Try an invalid value. Does it fail gracefully?
  {% endstep %}

{% step %}

### Test on the device users will actually use

If your real users access the portal on tablets or phones, test there. Browser dev tools' device emulation works for layout checks but doesn't simulate touch behaviour or real-network conditions.
{% endstep %}
{% endstepper %}

## Layout checks in the Page Builder

The Page Builder canvas renders pages live as you build — drag a block on, see how it sits next to the others, tweak settings, and watch the canvas update. It's the fastest way to catch obvious layout bugs (overlapping elements, empty sections, components that didn't get configured) before publishing.

What it **doesn't** do:

* Show how the page reflows at different screen sizes — the canvas renders at your browser's actual width. To check responsive behaviour, resize the browser window or open the published page on the actual devices your users will use.
* Render with the test user's role or data.
* Run real authentication.
* Test session-variable flow across modules.

So use the canvas for structural layout checks; use a real test user in an incognito window for everything else.

## Common issues and what to try

### Page shows blank or partial

Likely a component with incomplete config, or a save that didn't go through.

* Open the page in the Page Builder. Look for warning indicators on components.
* Save the page again.
* Try removing components one at a time to isolate the broken one.
* Have the user refresh (Ctrl/Cmd+Shift+R).

### Wrong data showing

Often a session variable issue or wrong data source on a component.

* Have the user refresh to clear any cached state.
* Check Session Variables on the workflow's Settings tab. Are defaults set?
* Verify the component's data-source configuration in the Page Builder.

### Navigation problems

Module order, module type, or sidebar config.

* Check module order on the Workflow tab — Dashboard / Header Nav / Sidebar Nav are locked at positions 1–3; everything else is freely draggable.
* Confirm modules are the right type. A *Page* used where you needed *Order Form* won't have the transaction components.
* If using a custom Sidebar Navigation module, review its configuration.

### Component config not saving

* Click outside the component to deselect it before saving.
* Check for required-field warnings.
* Verify your network connection.

### Performance issues

* Reduce components per page; split into multiple modules.
* Use pagination on large data sets.
* Optimise large images before upload.
* Defer non-critical data loads.

## When you're stuck

Document the problem and pull in support:

1. Which workflow, which module, which component.
2. Exact steps to reproduce.
3. Screenshot with any visible errors.
4. Browser and device.

See [Contacting Support](/client-admin-guide/troubleshooting-overview/contacting-support.md) for the channels.

## Related

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Common Issues</strong></td><td>Wider list of fixes for symptoms across the product.</td><td><a href="/pages/HcxHahMxyecLVvNYT9H6">/pages/HcxHahMxyecLVvNYT9H6</a></td></tr><tr><td><strong>Session Variables</strong></td><td>Source of many "wrong data" bugs — verify the variable flow.</td><td><a href="/pages/S9QlmvCWJ8AOsDrFpQtz">/pages/S9QlmvCWJ8AOsDrFpQtz</a></td></tr><tr><td><strong>Contacting Support</strong></td><td>How to escalate when local debugging stalls.</td><td><a href="/pages/PyqQxsQPs6PCnEI7y565">/pages/PyqQxsQPs6PCnEI7y565</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.in8sync.com/client-admin-guide/workflow-builder-overview/testing-and-debugging.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
