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

# Outbound Opening | Message Check

> Hold an outbound call's opening line until whoever answered has spoken, so the steps before the greeting can see who picked up (a person, a voicemail greeting or a call-screening service) and route on it.

## Description

On an outbound call the assistant normally speaks its opening line as soon as the call connects, after at most a brief wait for the other end to say hello. **Outbound Opening | Message Check** changes that. The opening is held back until the person who answered has said something, or until a short opening wait runs out with nothing heard. The steps placed after this tool then run with the answerer's first words already in the transcript, so they can decide what to say first.

Good fits:

* Opening differently for a person, a voicemail greeting and a call-screening service ("Please say your name and why you're calling…")
* Checking that the right person answered before the opening line names them
* Any outbound script whose first line depends on how the phone was answered

***

## How to use it

1. Put the tool at the very start of the Main Flow, **before the first voice step**. See [Doing work before the greeting](/flows/flows-main#doing-work-before-the-greeting).
2. After it, add the steps that decide what to open with. These are usually a [Code Step](/tools/code-step/overview) or an [LLM Data](/tools/llm/llm-data) step that reads `{{call.transcript.last_user}}` (string, e.g. `Hello, Jane speaking`), then conditions that route to the right opening line.
3. The first voice step reached after that becomes the opening line.

On the call:

* The number is dialled as normal.
* Nothing is spoken until the answerer's first words have been transcribed, or the opening wait (a few seconds) passes in silence. The assistant waits for the transcript of what they said before deciding, so an answerer who is still talking isn't spoken over.
* The steps after the tool run, and the opening line they lead to is spoken.
* A "hello" said while the opening is being prepared is not answered a second time.

The tool has no effect on inbound or web calls. They skip it and carry on to the next step as normal, so a script can be shared between directions.

To change the length of the opening wait, speak to the Voxworks team for further custom configuration.

***

## Inputs

None.

***

## Outputs

| Name   | Data Type | Description                                                                                                    |
| ------ | --------- | -------------------------------------------------------------------------------------------------------------- |
| result | bool      | Always `true`. The tool's position in the flow is what matters. Your own conditions decide the route after it. |

## Variables this tool writes

None. Read what the answerer said from `{{call.transcript.last_user}}` or `{{call.transcript.full}}`, and use `{{call.is_inbound}}` (boolean, e.g. `False`) if a shared script needs to know the call direction. See [Variables](/flows/variables#call).

***

## Tips

* **Keep the steps between the tool and the opening line quick.** The answerer is waiting in silence while they run.
* **Always have an Otherwise route to a normal opening line.** If the opening wait passes with nothing said, the transcript is empty and your checks should fall through to a sensible greeting.
* **Voicemail detection still runs.** The script's **Voicemail** setting (see [Voicemail Message](/scripts/voicemail-message)) still applies.

***

## Next Steps

* [Main Flows](/flows/flows-main) — how the opening line is chosen
* [Variables](/flows/variables#call) — `call.transcript` and call-direction variables
* [User Turn | Settled](/tools/user-turn-settled) — wait for the caller's turn to land before speaking
