insomnia-plugin-request-body-prompts
Version:
Prompt users for variables in your Insomnia request body (e.g. <<prompt:Question:default>>) before sending. Supports default values, and cancels on dialog abort.
98 lines (71 loc) • 3.11 kB
Markdown
Prompt users for variables in your Insomnia request body before sending a request.
- Define prompt variables in your request body using the attribute pattern
`<<prompt question='Your question' type='type' default='value' nullable='true'>>`
- Supports types (`number`, `boolean`, `string`) and nullability
- Shows a dialog before sending, allowing input per prompt (with defaults)
- All prompt variables in the body are replaced by your answers before the request is sent
## Installation
1. In Insomnia, go to **Preferences > Plugins**
2. Search for `insomnia-plugin-request-body-prompts`
3. Install the plugin
4. Restart Insomnia if necessary
## Usage
### Set the Request Body
In your request body (e.g., JSON or raw text), insert variables using the prompt tag:
```json
{
"amount": "<<prompt question='Enter amount' type='number' default='42'>>",
"active": "<<prompt question='Is active?' type='boolean' default='true'>>",
"description": "<<prompt question='Description' nullable='true'>>"
}
```
**Attributes:**
- `question` (required): Text shown in the dialog
- `type`: `"string"` (default), `"number"`, or `"boolean"`
- `default`: Default value pre-filled in the dialog (optional)
- `nullable`: `"true"` or `"1"` (optional) — allows null/empty answers
**Defaults:**
If you omit an attribute, the plugin uses these defaults:
- `type='string'`
- `default=''` (empty string)
- `nullable=false`
```json
{
"amount": "<<prompt question='Enter amount' type='number' default='42'>>",
"comment": "<<prompt question='Optional comment' nullable='true'>>"
}
```
You’ll see a dialog for each prompt, with your question, default value, and type hint.
```json
{
"amount": 42,
"comment": null
}
```
If you cancel a prompt (by clicking "Cancel" or closing the dialog),
The request will not be sent.
Insomnia will typically show an error box stating "Failed to transform request with plugins."
This is a limitation of the Insomnia plugin system: plugins cannot suppress this error box when aborting a request for user experience reasons.
You will not get a success response or an incomplete request.
## Technical Notes
- **Pattern:**
The plugin looks for variables matching:
`<<prompt question='...' [type='...'] [default='...'] [nullable='true']>>`
- **Insomnia Version:**
Supports Insomnia 11.x and newer (uses the async plugin API)
- **Supported Body Types:**
JSON and raw text bodies. For other body types (form, multipart), the plugin does nothing.
- **Do not use this plugin via the "Scripts" tab** — only as a proper Insomnia plugin.
### Troubleshooting
- If you do not see the dialog, make sure:
- You are using a POST/PUT/PATCH request with a non-empty body
- The body type is set to JSON or Text (raw)
- You are using the correct `<<prompt ...>>` syntax (not curly braces)
- If you cancel a prompt, the request will be aborted and an error box will appear (this is expected).