# Pick a node

} from '../../../components/docs';

A node is a step after the trigger. [Workflow Triggers](https://docs.voicelogica.ai/workflows/) is *when* the graph starts. This section is *what* it does.

From a trigger edge, open **What happens next? Pick a node to add to your workflow**. Search under **Node**. Categories in production include **AI**, **Communication**, **Core**, **Flow control**, and **Phone actions**.

  <ShotPlaceholder
    src="/assets/workflow-nodes/palette.png"
    name="wf-palette"
    alt="What happens next node palette AI Communication Core"
    capture="Workflow node palette."
  />

  <ShotPlaceholder
    src="/assets/workflow-nodes/palette-flow.png"
    name="wf-palette-flow"
    alt="Flow control and Phone actions nodes"
    capture="Workflow node palette flow control."
  />

The palette is long. Most graphs need one lookup, one branch, and one way to talk back or notify. HubSpot / Shopify / Galaxy sit behind a connected [integration](https://docs.voicelogica.ai/integrations/) - connect first, then add the node.

## Why setup matters

A card that says **Needs setup** will not **Save & go live**. A saved graph still does nothing on a live call until it is **on** for that agent under **Business Workflows**. Builder tests walk the graph; they are not a caller.

## Which node

- **Look something up or write to my system** — turn on **Connect To External Service** (needs [API](https://docs.voicelogica.ai/workflow-nodes/api/). Mid-call, keep it under about a second.)
- **Speak the result to the person on the line** — turn on **AI Response to Caller** (needs Only under a live-audio trigger. [AI Response](https://docs.voicelogica.ai/workflow-nodes/ai-response/).)
- **Send a confirmation they can keep** — turn on **Send Email / Send Text Message** (needs [Email](https://docs.voicelogica.ai/workflow-nodes/email/) (**Send Email Node**) or [SMS](https://docs.voicelogica.ai/workflow-nodes/sms/) (**Send Text Message**).)
- **Two outcomes (in stock / not)** — turn on **If/then Decision** (needs [If/then](https://docs.voicelogica.ai/workflow-nodes/if-then-decision/) (**If/then Decision Node**).)
- **Several named paths plus a default** — turn on **Multiple Choice Decision** (needs [Multiple Choice](https://docs.voicelogica.ai/workflow-nodes/multiple-choice/).)
- **Hand the live call to a person or another agent** — turn on **Transfer** (needs Start, Connect, or During only. [Transfer](https://docs.voicelogica.ai/workflow-nodes/transfer-call/). Not the same as [Call Transfers](https://docs.voicelogica.ai/telephony/call-transfers/).)
- **Dial someone later from this graph** — turn on **Make Outbound Call** (needs Needs outbound. [Make Outbound Call](https://docs.voicelogica.ai/workflow-nodes/make-outbound-call/).)
- **Run custom logic** — turn on **Run Custom Code** (needs [Run Custom Code](https://docs.voicelogica.ai/workflow-nodes/code/) - JavaScript or Python.)

- **AI Response** — speak on a live call
- **API** — HTTP in or out
- **Email** — To, subject, body
- **SMS** — credits + sender ID
- **If/then** — true / false
- **Multiple Choice** — named cases
- **Transfer** — live handoff
- **Outbound call** — the graph dials

Also in the catalog: [Calendar](https://docs.voicelogica.ai/workflow-nodes/create-calendar-event/), [Google Doc](https://docs.voicelogica.ai/workflow-nodes/google-document/), [AFM Search](https://docs.voicelogica.ai/workflow-nodes/afm-search/), [Filter Data](https://docs.voicelogica.ai/workflow-nodes/filter/), [Repeat Actions](https://docs.voicelogica.ai/workflow-nodes/loop/), [Data Table](https://docs.voicelogica.ai/workflow-nodes/data-table/), [AI Response Generation](https://docs.voicelogica.ai/workflow-nodes/ai-generation/), [Managed AI Agent](https://docs.voicelogica.ai/workflow-nodes/managed-agent/). HubSpot resource nodes after you [connect HubSpot](https://docs.voicelogica.ai/integrations/hubspot/).

**AI Response to Caller** is not [AI Response Generation](https://docs.voicelogica.ai/workflow-nodes/ai-generation/). Generation writes text for later nodes. It does not speak.

## First setup - lookup, then speak

Do this after [Get a workflow running](https://docs.voicelogica.ai/workflows/).

1. Prefer a live-audio trigger such as **During Call Trigger** when the caller must supply a code.
2. From **Work Flow Triggered**, pick **Connect To External Service**.
3. On the success path, add **AI Response to Caller** when the person is still on the line.
4. **Save & go live**, attach under **Business Workflows**, call and ask for a real code.

## Troubleshooting

**Save is blocked - Needs setup**

1. Open the flagged card. Fill every required field (URL, To, and so on).
2. If/then and Filter need a complete condition (field + operator).
3. HubSpot / Shopify / Galaxy show **Setup required** until the [integration](https://docs.voicelogica.ai/integrations/) is connected.

**AI Response or Transfer is missing from the palette**

They only appear under the right trigger. [AI Response](https://docs.voicelogica.ai/workflow-nodes/ai-response/) needs a live-audio trigger. [Transfer](https://docs.voicelogica.ai/workflow-nodes/transfer-call/) needs Start, Connect, or During - not End, Missed, or On API Call alone.

## Next Steps

[AI Response to Caller](https://docs.voicelogica.ai/workflow-nodes/ai-response/) - speak on the line.  
[Connect To External Service](https://docs.voicelogica.ai/workflow-nodes/api/) - the usual lookup.  
[Get a workflow running](https://docs.voicelogica.ai/workflows/) - Save + attach.
