# Concepts

- [Workspaces](https://docs.iotify.io/concepts/workspaces.md): Collaborate with your team with workspaces
- [Role Based Access Control (RBAC)](https://docs.iotify.io/concepts/workspaces/role-based-access-control-rbac.md)
- [Invitation Management](https://docs.iotify.io/concepts/workspaces/invitation-management.md)
- [GitHub Integration](https://docs.iotify.io/concepts/workspaces/github-integration.md)
- [Deletion of Workspaces](https://docs.iotify.io/concepts/workspaces/deletion-of-workspaces.md)
- [System Status](https://docs.iotify.io/concepts/workspaces/system-status.md)
- [Understanding Tests](https://docs.iotify.io/concepts/understanding-a-test.md): A test is a JavaScript document which describes the behaviour of your virtual device during simulation. Tests consist of Device Model, Library Management, Protocol Settings and Security Parameters.
- [Stages Management](https://docs.iotify.io/concepts/understanding-a-test/stages-management.md)
- [Init Stage](https://docs.iotify.io/concepts/understanding-a-test/stages-management/init-stage.md): Initialise the devices and add default values
- [Running Stage(s)](https://docs.iotify.io/concepts/understanding-a-test/stages-management/running-stage.md): The majority of the device logic is written in the running state(s). These stages must return a payload to be sent to the server.
- [Finished State](https://docs.iotify.io/concepts/understanding-a-test/stages-management/finished-state.md)
- [Generating Messages](https://docs.iotify.io/concepts/understanding-a-test/generating-messages.md)
- [Scripting Environment](https://docs.iotify.io/concepts/understanding-a-test/generating-messages/scripting-environment.md)
- [State Object](https://docs.iotify.io/concepts/understanding-a-test/generating-messages/state-object.md)
- [Response Handler](https://docs.iotify.io/concepts/understanding-a-test/response-handler.md)
- [Preview Tests](https://docs.iotify.io/concepts/understanding-a-test/preview-tests.md)
- [Exporting/Importing Tests](https://docs.iotify.io/concepts/understanding-a-test/exporting-importing-tests.md)
- [Import OpenAPI JSON/YAML](https://docs.iotify.io/concepts/understanding-a-test/exporting-importing-tests/import-openapi-json-yaml.md)
- [Locking/Unlocking a test](https://docs.iotify.io/concepts/understanding-a-test/locking-unlocking-a-test.md)
- [Stateful Simulation](https://docs.iotify.io/concepts/stateful-simulation.md)
- [Mapping the IoT device lifecycle](https://docs.iotify.io/concepts/stateful-simulation/understanding-the-device-lifecycle.md): One of the first step to get started with IoT simulation is to map your device lifecycle into states and events.
- [Protocol Settings](https://docs.iotify.io/concepts/protocol-settings.md): IoTIFY Supports multiple protocols to connect with cloud platforms. Let's discuss each of these protocols in detail.
- [MQTT](https://docs.iotify.io/concepts/protocol-settings/mqtt.md): MQTT is the most widely used and known protocol for IoT devices. Let's have a basic look at MQTT and how could we use it with IoTIFY
- [HTTP](https://docs.iotify.io/concepts/protocol-settings/http.md): Many of the IoT devices also use HTTP as a connectivity option. Let's see what HTTP parameters could be configured.
- [Using other protocols](https://docs.iotify.io/concepts/protocol-settings/using-other-protocols.md)
- [Run Settings](https://docs.iotify.io/concepts/run-settings.md): Once the device model has been finalized, the run settings define the parameters regarding the simulation of the devices.
- [Network Simulation](https://docs.iotify.io/concepts/run-settings/network-simulation.md)
- [Execution Strategies](https://docs.iotify.io/concepts/run-settings/execution-strategies.md)
- [Client Distribution](https://docs.iotify.io/concepts/run-settings/client-distribution.md)
- [Scenarios](https://docs.iotify.io/concepts/scenarios.md)
- [Glob Storage](https://docs.iotify.io/concepts/glob-storage.md)
- [Metrics](https://docs.iotify.io/concepts/metrics.md)
- [Mailbox](https://docs.iotify.io/concepts/mailbox.md)
- [Licensing and Limits](https://docs.iotify.io/concepts/licensing-and-limits.md)
- [Deployment Models](https://docs.iotify.io/concepts/deployment-models.md): This page details the deployment options available for IoTIFY


---

# 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.iotify.io/concepts.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.
