> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assistable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Write and test assistant instructions

> Define the job, the next action, and how the assistant should handle missing information.

A useful prompt describes what the assistant should accomplish and how to recognize completion. Give it a small, testable job before adding more instructions.

## Write the prompt

Open the assistant's prompt in the builder. Organize your instructions around:

* **Identity:** the business and role the assistant represents.
* **Task:** the steps needed to help the customer.
* **Response style:** language, tone, length, and how many questions to ask at once.
* **Limits and recovery:** what to do when information is missing or an action fails.

These headings are a writing pattern, not a requirement to find four separate settings screens.

## Example: appointment enquiry

```text theme={null}
You are Emma, the receptionist for Acme Services.

Help visitors understand the available services and request an appointment.
Ask one short question at a time.

1. Find out what service the visitor needs.
2. Answer business questions using the assigned knowledge base.
3. If they want to book, collect the required details and check the connected calendar.
4. Offer only availability returned by the booking tool.
5. Confirm the appointment only after the tool reports that booking succeeded.

If information is missing, ask for it. If a tool fails, explain that the action has not been confirmed and offer the configured next step.
```

Use booking instructions only after configuring the calendar and tools. A prompt does not create the integration or permission to perform the action.

## Use known variables

A supported variable such as `{{contact.first_name}}` can personalize the conversation when contact data is available. Include a natural fallback for missing values and test on the actual channel. Avoid inserting unverified account IDs or assuming a standalone test has every CRM field.

## Improve one behavior at a time

1. Write several representative customer messages, including a missing-information and failure case.
2. Run them in Chat Lab.
3. Compare each response with the intended outcome.
4. Change the smallest relevant instruction.
5. Repeat the same cases.
6. Publish the version you intend to use and verify the customer channel.

If you use a flow, put shared rules in its Global Prompt and the immediate task in each Conversation node. See [flow conversation nodes](/v3/guides/flows/conversation-node).

## Prompt editing controls

| Control | Options and behavior |
| - | - |
| Prompt editor | Edit the current assistant instructions. Wait for saving before testing or publishing. The workspace shows an advisory above 8,000 characters; this warning is not a hard prompt field limit. |
| Variable picker | Insert exact supported placeholders. Use the [complete assistant variable reference](/v3/guides/assistants/variables) for names, channel availability, defaults, and custom fields. |
| Generate Prompt | Enter a description and choose a language; generate, review/edit the result, then save it. **Back to Description** lets you change the input before generating again. |
| Enhance Prompt | Available when enabled for the account. Choose **Targeted edits** (default) or **Full rewrite**, enter optional instructions, and choose language. Requires an existing prompt; additional instructions are limited to 4,000 characters. |
| Enhancement focus shortcuts | Clear tool use, Fix conflicts, Better on calls, Handle edge cases, and Warmer tone. These populate guidance; they do not configure tools or phone settings. |
| Enhancement review | Review changes or final text; accept, reject, or edit proposed changes, then save the accepted result or discard it. Closing the drawer does not stop an ongoing enhancement. |
| Version History | Review prior snapshots, copy their prompt, or choose **Revert to this version**. Revert restores the supported assistant configuration from that snapshot, not only the prompt; inspect the resulting settings and test before publishing. A backup snapshot is made before reverting. |
| Find & Replace | Separate output rules with **Find** and **Replace** text. An empty replacement deletes a match. These rules do not rewrite the saved prompt or substitute for a system-variable definition. |

Generate Prompt and Enhance Prompt offer these language choices: **Auto (default)**, **English**, **Spanish**, **French**, **German**, **Portuguese**, **Italian**, **Dutch**, **Polish**, **Arabic**, **Hindi**, **Chinese**, **Japanese**, and **Korean**. Auto keeps the existing language for enhancement; generation uses its default language behavior unless the description requests another language. This selector changes the written prompt, not the voice’s transcription language or available voice catalogue.

Enhancement saves check whether the stored prompt changed while you were reviewing. If the editor reports a conflict, reload the current prompt and reconcile your edits before saving again. A generated prompt still needs real tool, knowledge, and channel tests.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.