# Users and test data

> How to give a test the signed-in user and data it needs — choosing an approach, then setting up the secrets and custom tools it uses.

Rendered version: https://docs.semaloop.com/users-and-test-data/

Most tests need a signed-in user in a known state. Start with [sign-in and user state](/users-and-test-data/sign-in-and-user-state/), which recommends an approach for your app, then set up the [secrets](/users-and-test-data/secrets-and-credentials/) and [custom tools](/users-and-test-data/custom-tools/) it relies on.

* [**Sign-in and user state**](/users-and-test-data/sign-in-and-user-state/) — Recommended approaches for sign-up, sign-in and user state, combining the device's built-in accounts, secrets and custom tools.
* [**Secrets and credentials**](/users-and-test-data/secrets-and-credentials/) — Manage the user accounts, sandbox accounts, and freeform strings your agents use at runtime.
* [**Custom tools**](/users-and-test-data/custom-tools/) — Give Semaloop agents custom API calls they can use to set up or clean up test state.

## Related

- Index of every Semaloop docs page: https://docs.semaloop.com/llms.txt
- All Semaloop docs in one file: https://docs.semaloop.com/llms-full.txt
