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

# Global Nodes

> Create nodes accessible from anywhere in the flow via natural language or DTMF

Global nodes can be triggered from **any point in your conversation flow** — they don't need an explicit edge from another node. Use them for scenarios that can arise at any moment in a conversation, like transferring to a human agent or returning to the main menu.

## How to Create a Global Node

Any node type except the Start node can be made global. Open a node's settings and toggle **Global** on.

When global is enabled, you choose a **trigger type** — either a natural language condition or a DTMF key.

**Prompt trigger:** The LLM evaluates a natural language condition at every conversation turn.

```
Global condition: "The user wants to speak with a human agent or representative"
```

**DTMF trigger:** The node activates when the user presses a specific keypad key.

***

## Configuration

| Setting                   | Description                                                         |
| ------------------------- | ------------------------------------------------------------------- |
| **isGlobal**              | Toggle to enable global status                                      |
| **globalConditionType**   | Trigger type: `prompt` (natural language) or `dtmf` (keypad key)    |
| **globalCondition**       | Natural language trigger condition (when type is `prompt`)          |
| **globalDtmfKey**         | Keypad key: 0–9, \*, # (when type is `dtmf`)                        |
| **globalReturnToSource**  | Return to the node the user was on before the global node triggered |
| **requiresDoubleConfirm** | Ask user to confirm before executing                                |
| **skipResponse**          | Execute the node silently without speaking its message              |

### Variable Restrictions

Global conditions support **system variables** and **custom variables** only. Extracted variables (collected during the conversation) cannot be used — the global node may be triggered before those variables exist.

→ See [Variable System](/agents/variables/introduction) for the full list of available system variables.

***

## Double Confirmation

When `requiresDoubleConfirm` is enabled, the agent asks the user to confirm before the node executes.

```
User: "I want to end the call"
Agent: "Are you sure you want to end this call?"
User: "Yes"
→ End call executes
```

Use this for irreversible actions like ending a call, canceling an appointment, or deleting data.

***

## Skip Response

When `skipResponse` is enabled, the node executes without speaking its message. Useful for silent routing — for example, a global router node that checks variables and routes to the right destination without saying anything to the user.

***

## Global DTMF Triggers

Global nodes can be triggered by keypresses from anywhere in the flow, in addition to (or instead of) natural language.

```
Press 0 → Transfer to Operator
Press 9 → Return to Main Menu
```

Announce these shortcuts to users in your welcome or menu messages so they know they're available.

→ See [DTMF Features](./dtmf) for full documentation.

***

## Common Examples

**Transfer to human agent**

```
Type: Transfer Agent
Global condition: "The user wants to speak with a human agent or representative"
DTMF trigger: 0
```

**Return to main menu**

```
Type: Conversation
Global condition: "The user wants to return to the main menu or start over"
DTMF trigger: 9
```

**End call**

```
Type: End Call
Global condition: "The user wants to end the call or hang up"
Require double confirmation: Yes
```

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Transitions" href="./transitions">
    Control how conversations move between nodes
  </Card>

  <Card title="DTMF Features" href="./dtmf">
    Full documentation for keypad interactions
  </Card>

  <Card title="Variables" href="/agents/variables/introduction">
    Understand variable scoping and availability
  </Card>

  <Card title="Node Types" href="./nodes/overview">
    Explore all available node types
  </Card>
</CardGroup>
