# Node Reference (Reference: https://docs.iqra.bot/build/script/nodes) The Script Builder provides a comprehensive suite of nodes to handle conversation flow, business logic, and integrations. Nodes are organized by category in the **Sidebar Palette**. *** Conversation [#conversation] The core interaction loop between the human and the AI. User Query [#user-query] Defines an **Intent** or specific phrase the user might say. * **Usage:** Connect this after a Start Node or AI Response. * **Matching:** The LLM uses semantic matching. If you type "I want to buy," it will also match "I'm looking to purchase." * **Multi-Language:** You must define the query text for every enabled language. AI Response [#ai-response] Defines what the Agent speaks. * **Content:** The text to be synthesized by TTS. Supports **[Templating](/build/script/templating)** (e.g., `Hello {{ name }}`). * **Interruption:** You can toggle whether the user is allowed to interrupt this specific phrase. * **Multi-Language:** Requires translated text. Keep Listening [#keep-listening] Forces the agent to keep the microphone open without speaking. * **Use Case:** When you expect the user to continue talking after a brief pause, or when you want to simulate "Active Listening" silence. *** Action Flow [#action-flow] Deterministic logic containers. These nodes allow you to build strict business rules. Action Flows are powerful sub-routines. Read the full **[Action Flows Guide](/build/script/action-flows)** to learn how to group nodes and enforce strict logic. * **Action Flow Group:** The container for the sub-routine. * **Condition:** If/Else logic branching (e.g., `If Balance > 0`). * **Wait:** Pauses execution for a set duration. * **Run Code:** Execute a JavaScript sandbox to manipulate variables. * **Go To Action:** Jump to another step within the Flow. * **Return:** Exit the Flow and return control to the main graph. *** Logic [#logic] State management and flow control. Set Variable [#set-variable-] Updates the value of a **[Script Variable](/build/script/variables)**. * **Operation:** Set, Increment, Decrement. * **Value:** Can be static (e.g., `true`) or dynamic (e.g., `{{ tool.result }}`). Get Numerical Input [#get-numerical-input] Requests specific keypad input (DTMF) from the user. * **Settings:** Max digits, Timeout, Terminator (`#`). * **Encryption:** If enabled, the value is **Redacted** from logs and the AI context. Useful for collecting IDs securely. Transfer To Agent / Human [#transfer-to-agent--human] * **To Agent:** Handoff the call to another AI Persona (e.g., Transfer from "Sales Bot" to "Support Bot"). * **To Human:** SIP/PSTN forwarding to a live call center or phone number. Change Language [#change-language] Switches the entire agent configuration mid-call. * **Effect:** Swaps STT/TTS providers and the prompt context to the selected language immediately. Send Event [#send-event-] Sends a JSON payload to the client via WebSocket. * **Use Case:** Updating the UI on a website or app (e.g., `navigate_to_checkout`) during a **[Web Campaign](/build/campaigns/web)**. Webhook [#webhook-] Fires a "Fire-and-Forget" HTTP request to an external URL. Unlike Custom Tools, this does not wait for a response or return data to the AI. Add Script [#add-script] Injects the logic of *another* script into the current conversation context (e.g., injecting a global "FAQ Script" into a "Sales Script"). Schedule Call [#schedule-call-] Triggers an outbound call to be placed at a future time. End Conversation [#end-conversation] Terminates the connection. * **Mode:** Speak a final message (Goodbye) or hang up immediately. *** Telephony [#telephony] Network-level controls. Press Keypad [#press-keypad] Simulates the agent pressing keys (e.g., dialing an extension `123#`). *** Integrations [#integrations] Connecting to the outside world. FlowApps (Plugins) [#flowapps-plugins] Pre-built, rich integrations for services like **Cal.com** plugin. * **Dynamic UI:** These nodes render dropdowns and forms specific to the app. * **Latency Masking:** Configure `Speaking Before Execution` to fill dead air while the API loads. See how to use plugins in the **[FlowApps Guide](/build/script/flowapps)**. Custom Tool [#custom-tool-] Executes a raw HTTP webhook defined in the **[Tools Module](/build/tools)**. * **Use Case:** Connecting to your own internal API or a service that doesn't have a FlowApp yet. Retrieve Knowledgebase [#retrieve-knowledgebase-] Forces a manual **[RAG](/build/knowledge/rag)** lookup. * **Result:** The retrieved document chunks are injected into the context for the next AI response. Send SMS [#send-sms] Triggers a text message to the caller via your connected telephony provider.