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

# Per-call instructions

<Note>
  For calls you place yourself over the [calling API](/api-reference/starting-a-conversation/dispatch-a-call-from-this-assistant), and for [web sessions](/api-reference/starting-a-conversation/create-a-web-session-token). Campaigns don't take them.

  On a web session, the instructions and any `variables` ride in the **token the browser gets**. Don't put secrets there.
</Note>

Every call an assistant makes runs on the same prompt, the `instructions` you gave it when you created it. Sometimes one call needs a line the prompt doesn't have. Per-call instructions are that line: text you send with the call request, appended to the prompt for that call only.

## Sending one

A complete call. The variables say who the farmer is. The highlighted line says what is different about today:

```bash A late follow-up, dialed by hand highlight={9} wrap theme={null}
curl https://api.upliftai.org/v1/realtime-assistants/$ASSISTANT_ID/call \
  -H "Authorization: Bearer $UPLIFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "toNumber": "+923001234567",
    "variables": {
      "crop": "cotton", "district": "Multan", "lastOrder": "May"
    },
    "additionalInstructions": "This is a late follow-up. Once you have confirmed you are speaking to the right person, apologize for the delay before anything else."
  }'
```

`additionalInstructions` takes up to 2,000 characters and lands right after the prompt. The only thing after it is the **caller record**, when you send `variables`. Nothing else about the assistant changes, and the text is not returned on any read. The [call request](/api-reference/starting-a-conversation/dispatch-a-call-from-this-assistant) reference has the rest of the body.

## What to put in it

Steering, not facts. The prompt says who the assistant is and how it works. The instruction says what is different about this one call:

```text wrap theme={null}
You spoke to them on Monday and they asked to be called back today. Open by saying you are calling back as promised, then continue with the order as usual.
```

```text wrap theme={null}
Their last delivery arrived two days late. If they bring it up, apologize once and do not explain why. Then confirm this order as usual.
```

Facts about the caller, like the order number or the crop, belong in [variables](/voice-agents/personalization/variables).

## Keep it to a few lines

Say the one thing that is different and stop. A long addition starts competing with the prompt it was meant to nudge.
