# Workflow Builder


# Workflow Builder

**Workflow Builder** **ਸਕ੍ਰਿਪਟ ਕੀਤੇ ਕਾਲ ਫ਼ਲੋ** ਲਈ ਇੱਕ ਵਿਜ਼ੂਅਲ, ਨੋਡ-ਆਧਾਰਿਤ ਐਡੀਟਰ ਹੈ। ਜਿੱਥੇ ਖੁੱਲ੍ਹੇ-ਅੰਤ ਵਾਲਾ ਏਜੰਟ ਮਾਡਲ ਨੂੰ ਅਗਲਾ ਕੀ ਕਹਿਣਾ ਹੈ ਇਹ ਫ਼ੈਸਲਾ ਕਰਨ ਦਿੰਦਾ ਹੈ, ਉੱਥੇ ਇੱਕ ਵਰਕਫ਼ਲੋ ਏਜੰਟ ਨੂੰ ਇੱਕ ਨਿਸ਼ਚਿਤ ਰਾਹ ਦਿੰਦਾ ਹੈ — ਕਦਮਾਂ ਦਾ ਇੱਕ ਕ੍ਰਮ ਜੋ ਬੋਲਦਾ ਹੈ, ਪੁੱਛਦਾ ਹੈ, ਬ੍ਰਾਂਚ ਕਰਦਾ ਹੈ, ਟੂਲ ਕਾਲ ਕਰਦਾ ਹੈ ਅਤੇ ਗੱਲਬਾਤ ਨੂੰ ਰੂਟ ਕਰਦਾ ਹੈ। ਇਸ ਨੂੰ ਉਦੋਂ ਵਰਤੋ ਜਦੋਂ ਕਿਸੇ ਕਾਲ ਨੂੰ ਇੱਕ ਪਰਿਭਾਸ਼ਿਤ ਸਕ੍ਰਿਪਟ ਦੀ ਪਾਲਣਾ ਕਰਨੀ ਪਵੇ: ਇੱਕ ਲੀਡ ਨੂੰ ਯੋਗ ਠਹਿਰਾਉਣਾ, ਇੱਕ ਅਪੌਇੰਟਮੈਂਟ ਬੁੱਕ ਕਰਨਾ, ਇੱਕ ਸਪੋਰਟ ਮੁੱਦੇ ਨੂੰ ਛਾਂਟਣਾ ਜਾਂ ਇੱਕ ਸਰਵੇ ਇਕੱਠਾ ਕਰਨਾ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਏਜੰਟ ਬਿਲਡਰ ਵਿੱਚ **/agent/setup** 'ਤੇ **Tools** ਟੈਬ ਤੋਂ **Open Workflow Builder** ਬਟਨ ਵਰਤ ਕੇ ਖੋਲ੍ਹਦੇ ਹੋ।

ਇੱਕ ਵਰਕਫ਼ਲੋ ਇੱਕ ਇਕੱਲੇ ਏਜੰਟ ਨਾਲ ਸਬੰਧਤ ਹੁੰਦਾ ਹੈ। ਕਾਲ ਵੇਲੇ ਇੱਕ **supervisor** ਗੱਲਬਾਤ 'ਤੇ ਨਜ਼ਰ ਰੱਖਦਾ ਹੈ, ਫ਼ੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਕਾਲਰ ਕਿਹੜਾ **intent** ਜ਼ਾਹਰ ਕਰ ਰਿਹਾ ਹੈ, ਅਤੇ ਉਸ ਇਰਾਦੇ ਦੇ **steps** ਨੂੰ ਕ੍ਰਮ ਵਿੱਚ ਚਲਾਉਂਦਾ ਹੈ। ਏਜੰਟ ਜੋ ਫ਼ੰਕਸ਼ਨ ਕਦਮਾਂ ਅੰਦਰ ਵਰਤ ਸਕਦਾ ਹੈ, ਉਹ ਬਿਲਕੁਲ ਉਹੀ ਹਨ ਜੋ ਤੁਸੀਂ [Tools ਟੈਬ](./tools-mcp) 'ਤੇ ਬੰਨ੍ਹੇ ਹਨ — ਵਰਕਫ਼ਲੋ ਕਿਸੇ ਅਜਿਹੇ ਟੂਲ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਮਨਜ਼ੂਰੀ ਨਹੀਂ ਦਿੱਤੀ।

## ਇੱਕ ਵਰਕਫ਼ਲੋ ਦੀ ਬਣਤਰ ਕਿਵੇਂ ਹੁੰਦੀ ਹੈ

![Workflow Builder](/img/screenshots/portal/workflow-builder.png)
*Workflow Builder: n8n-ਸ਼ੈਲੀ ਦੇ ਨੋਡ ਕੈਨਵਸ 'ਤੇ ਨਿਰਧਾਰਕ ਕਾਲ ਫ਼ਲੋ ਡਿਜ਼ਾਈਨ ਕਰੋ, ਨਾਲ ਇੱਕ ਵਿਕਲਪਿਕ ਸੁਪਰਵਾਈਜ਼ਰ ਪ੍ਰੌਂਪਟ।*

ਇੱਕ ਵਰਕਫ਼ਲੋ ਦੇ ਤਿੰਨ ਨੈਸਟਡ ਪੱਧਰ ਹੁੰਦੇ ਹਨ:

- **Graph** — ਪ੍ਰਤੀ ਏਜੰਟ ਇੱਕ ਵਰਕਫ਼ਲੋ। ਇਹ ਇੱਕ ਵਿਕਲਪਿਕ **supervisor prompt** (AI ਸੁਪਰਵਾਈਜ਼ਰ ਲਈ ਕਸਟਮ ਹਦਾਇਤਾਂ ਜੋ ਇਰਾਦਿਆਂ ਨੂੰ ਰੂਟ ਕਰਦਾ ਹੈ) ਲੈ ਕੇ ਚੱਲਦਾ ਹੈ। ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਗ੍ਰਾਫ਼ ਨਹੀਂ ਬਣਾਉਂਦੇ, ਬਿਲਡਰ ਸੁਪਰਵਾਈਜ਼ਰ-ਪ੍ਰੌਂਪਟ ਫ਼ੀਲਡ ਵਾਲੀ ਇੱਕ-ਵਾਰੀ **Create Workflow Graph** ਸਕ੍ਰੀਨ ਦਿਖਾਉਂਦਾ ਹੈ।
- **Intents** — ਗੱਲਬਾਤ ਦੀਆਂ ਬ੍ਰਾਂਚਾਂ। ਹਰ ਇਰਾਦੇ ਦਾ ਇੱਕ **display name**, ਇੱਕ **internal name**, ਇੱਕ **description** (ਸੁਪਰਵਾਈਜ਼ਰ ਮਾਡਲ ਨੂੰ ਦਿਖਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਇਰਾਦੇ ਨਾਲ ਮੇਲ ਕਰ ਸਕੇ), **trigger phrases** ਦੀ ਇੱਕ ਸੂਚੀ, ਇੱਕ **default intent** ਟੌਗਲ, ਅਤੇ ਇੱਕ ਵਿਕਲਪਿਕ **fallback response** ਹੁੰਦਾ ਹੈ ਜੋ ਉਦੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੇ ਇਸ ਦੇ ਸਾਰੇ ਕਦਮ ਫ਼ੇਲ੍ਹ ਹੋ ਜਾਣ। ਸੁਪਰਵਾਈਜ਼ਰ ਉਹ ਇਰਾਦਾ ਚੁਣਦਾ ਹੈ ਜਿਸ ਦਾ ਵੇਰਵਾ ਅਤੇ ਟ੍ਰਿਗਰ ਵਾਕੰਸ਼ ਕਾਲਰ ਨੇ ਜੋ ਕਿਹਾ ਉਸ ਨਾਲ ਸਭ ਤੋਂ ਵਧੀਆ ਫ਼ਿੱਟ ਬੈਠਦੇ ਹਨ।
- **Steps** — ਇੱਕ ਇਰਾਦੇ ਅੰਦਰ ਕ੍ਰਮਬੱਧ ਕਾਰਵਾਈਆਂ। ਕਦਮ ਮੂਲ ਤੌਰ 'ਤੇ ਉੱਪਰੋਂ ਹੇਠਾਂ ਚੱਲਦੇ ਹਨ, ਅਤੇ ਹਰ ਕਦਮ ਦਾ ਇੱਕ ਕਿਸਮ ਹੁੰਦਾ ਹੈ ਜੋ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਕੀ ਕਰਦਾ ਹੈ।

ਕੈਨਵਸ 'ਤੇ ਇਹ ਇੱਕ ਹਰੇ **Start** ਨੋਡ ਵਜੋਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ ਜੋ ਪ੍ਰਤੀ ਬ੍ਰਾਂਚ ਇੱਕ **Intent** ਨੋਡ ਵਿੱਚ ਵਹਿੰਦਾ ਹੈ, ਜਿਸ ਦੇ ਹੇਠਾਂ ਉਸ ਇਰਾਦੇ ਦੇ **Step** ਨੋਡ ਚਿਣੇ ਹੁੰਦੇ ਹਨ। ਇੱਕ ਮਿਨੀਮੈਪ, ਜ਼ੂਮ ਕੰਟਰੋਲ ਅਤੇ ਇੱਕ ਬਿੰਦੀਦਾਰ ਪਿਛੋਕੜ ਵੱਡੇ ਫ਼ਲੋ ਵਿੱਚ ਨੇਵੀਗੇਟ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ।

:::info[ਇਰਾਦੇ ਹੀ ਉਹ ਤਰੀਕਾ ਹਨ ਜਿਸ ਨਾਲ ਸੁਪਰਵਾਈਜ਼ਰ ਰੂਟ ਕਰਦਾ ਹੈ]

ਸੁਪਰਵਾਈਜ਼ਰ ਕਾਲਰ ਦੇ ਕਥਨ ਨੂੰ ਹਰ ਇਰਾਦੇ ਦੇ **description** ਅਤੇ **trigger phrases** ਨਾਲ ਮਿਲਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਵੇਰਵੇ ਇਉਂ ਲਿਖੋ ਜਿਵੇਂ ਤੁਸੀਂ ਕਿਸੇ ਸਾਥੀ ਨੂੰ ਸਮਝਾ ਰਹੇ ਹੋ ("User wants to book or schedule an appointment") ਅਤੇ ਕੁਝ ਕੁਦਰਤੀ ਟ੍ਰਿਗਰ ਵਾਕੰਸ਼ ਜੋੜੋ। ਇੱਕ ਇਰਾਦੇ ਨੂੰ **default** ਵਜੋਂ ਨਿਸ਼ਾਨ ਲਾਓ ਤਾਂ ਜੋ ਉਹ ਗੱਲਬਾਤਾਂ ਫੜੀਆਂ ਜਾਣ ਜੋ ਕਿਸੇ ਹੋਰ ਨਾਲ ਸਾਫ਼ ਤੌਰ 'ਤੇ ਮੇਲ ਨਹੀਂ ਖਾਂਦੀਆਂ।

:::

## ਕਦਮ ਕਿਸਮਾਂ

**Add Step** ਨਾਲ ਇੱਕ ਕਦਮ ਜੋੜੋ (ਇੱਕ ਇਰਾਦਾ ਜਾਂ ਉਸ ਦੇ ਕਿਸੇ ਕਦਮ ਨੂੰ ਚੁਣਨ ਤੋਂ ਬਾਅਦ), ਜੋ ਨੋਡ ਪਿੱਕਰ ਖੋਲ੍ਹਦਾ ਹੈ। ਪਿੱਕਰ ਕਦਮ ਕਿਸਮਾਂ ਨੂੰ **Conversation**, **Logic**, **Integrations** ਅਤੇ **Call Control** ਵਿੱਚ ਸਮੂਹਬੱਧ ਕਰਦਾ ਹੈ। ਤੇਰਾਂ ਕਿਸਮਾਂ ਹਨ:

- **Message** — ਬੌਟ ਕਾਲਰ ਨੂੰ ਇੱਕ ਲਾਈਨ ਬੋਲਦਾ ਹੈ।
- **Question** — ਬੌਟ ਕੁਝ ਪੁੱਛਦਾ ਹੈ ਅਤੇ ਜਵਾਬ ਨੂੰ ਇੱਕ **variable** ਵਿੱਚ ਸਟੋਰ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਇੱਕ **validation type** (Any, Number, Email, Date, Yes / No or Phone) ਅਤੇ ਇੱਕ **re-ask message** ਚੁਣਦੇ ਹੋ ਜੋ ਉਦੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਜਵਾਬ ਪੁਸ਼ਟੀਕਰਨ ਵਿੱਚ ਫ਼ੇਲ੍ਹ ਹੋ ਜਾਂਦਾ ਹੈ।
- **Condition** — ਫ਼ਲੋ ਨੂੰ ਬ੍ਰਾਂਚ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਇੱਕ **field** (ਇੱਕ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲ), ਇੱਕ **operator** (equals, not equals, contains, does not contain, greater than, less than, matches regex, is empty, is not empty) ਅਤੇ ਇੱਕ **value** ਚੁਣਦੇ ਹੋ, ਫਿਰ **If True** ਅਤੇ **If False** ਨੂੰ ਖ਼ਾਸ ਕਦਮਾਂ ਵੱਲ ਰੂਟ ਕਰਦੇ ਹੋ।
- **Tool Call** — ਏਜੰਟ ਨਾਲ ਬੰਨ੍ਹੇ ਇੱਕ **built-in** ਜਾਂ **custom** ਫ਼ੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਟੂਲ ਕਿਸਮ, ਫ਼ੰਕਸ਼ਨ, ਅਤੇ ਇੱਕ ਵਿਕਲਪਿਕ **input mapping** (JSON) ਚੁਣਦੇ ਹੋ ਜੋ ਕਦਮ ਦੇ ਇਨਪੁੱਟਾਂ ਨੂੰ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲਾਂ ਨਾਲ ਮੈਪ ਕਰਦਾ ਹੈ।
- **Appointment** — ਇੱਕ ਬੁਕਿੰਗ ਫ਼ੰਕਸ਼ਨ ਦੇ ਖ਼ਿਲਾਫ਼ ਇੱਕ ਅਪੌਇੰਟਮੈਂਟ-ਬੁਕਿੰਗ ਸਬ-ਫ਼ਲੋ ਚਲਾਉਂਦਾ ਹੈ, ਆਪਣੀ ਖ਼ੁਦ ਦੀ ਇਨਪੁੱਟ ਮੈਪਿੰਗ ਨਾਲ।
- **Webhook** — ਇੱਕ ਬਾਹਰੀ URL ਨੂੰ ਇੱਕ HTTP ਬੇਨਤੀ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ **method** (GET, POST, PUT, PATCH, DELETE), **URL**, ਵਿਕਲਪਿਕ **headers** (JSON), ਇੱਕ **body template**, ਅਤੇ **save the response** ਕਰਨ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਸੈੱਟ ਕਰਦੇ ਹੋ।
- **Transfer** — ਕਾਲ ਨੂੰ ਕਿਸੇ ਹੋਰ **phone number or queue** ਵੱਲ ਸੌਂਪ ਦਿੰਦਾ ਹੈ, ਟ੍ਰਾਂਸਫ਼ਰ ਤੋਂ ਪਹਿਲਾਂ ਘੋਸ਼ਿਤ ਕੀਤੇ ਇੱਕ ਵਿਕਲਪਿਕ ਸੁਨੇਹੇ ਨਾਲ। ਕਾਲ ਟ੍ਰਾਂਸਫ਼ਰ ਇੱਕ-ਸਿਰੇ-ਤੋਂ-ਦੂਜੇ-ਸਿਰੇ ਤੱਕ ਕਿਵੇਂ ਵਿਹਾਰ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ [ਕਾਲਿੰਗ ਅਤੇ ਟੈਲੀਫ਼ੋਨੀ](./calling-telephony) ਵੇਖੋ।
- **End Call** — ਫ਼ੋਨ ਕੱਟ ਦਿੰਦਾ ਹੈ, ਵਿਕਲਪਿਕ ਤੌਰ 'ਤੇ ਪਹਿਲਾਂ ਇੱਕ **goodbye message** ਬੋਲ ਕੇ।
- **Delay** — ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਨਿਸ਼ਚਿਤ ਸਕਿੰਟਾਂ (1–60) ਲਈ ਚੁੱਪਚਾਪ ਉਡੀਕ ਕਰਦਾ ਹੈ।
- **Set Variable** — ਇੱਕ ਮੁੱਲ (ਸਥਿਰ ਟੈਕਸਟ ਜਾਂ ਕਿਸੇ ਹੋਰ ਵੇਰੀਏਬਲ ਦਾ ਹਵਾਲਾ) ਨੂੰ ਇੱਕ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲ ਵਿੱਚ ਸਟੋਰ ਕਰਦਾ ਹੈ।
- **Send Notification** — ਇੱਕ ਨਾਮ ਵਾਲੇ ਟੈਂਪਲੇਟ ਅਤੇ ਇੱਕ ਵੇਰੀਏਬਲ ਮੈਪਿੰਗ (JSON) ਵਰਤ ਕੇ ਇੱਕ **SMS**, **email** ਜਾਂ **WhatsApp** ਸੁਨੇਹਾ ਭੇਜਦਾ ਹੈ।
- **Static Response** — ਟੈਕਸਟ ਦਾ ਇੱਕ ਨਿਸ਼ਚਿਤ ਬਲਾਕ ਬੋਲਦਾ ਹੈ। ਇਹ ਇੱਕ ਪੁਰਾਣਾ ਨੋਡ ਹੈ; ਨਵੇਂ ਫ਼ਲੋ ਲਈ **Message** ਨੂੰ ਤਰਜੀਹ ਦਿਓ।
- **Play Audio** — ਕਾਲਰ ਨੂੰ ਇੱਕ ਆਡੀਓ ਫ਼ਾਈਲ (ਇੱਕ ਪਬਲਿਕ WAV ਜਾਂ MP3 URL) ਚਲਾਉਂਦਾ ਹੈ।

ਹਰ ਕਦਮ ਉਸ **right-hand panel** ਵਿੱਚ ਕਨਫ਼ਿਗਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਤੁਹਾਡੇ ਵੱਲੋਂ ਇੱਕ ਨੋਡ ਚੁਣਨ 'ਤੇ ਖੁੱਲ੍ਹਦਾ ਹੈ। ਪੈਨਲ ਸਿਰਫ਼ ਉਸ ਕਦਮ ਦੀ ਕਿਸਮ ਨਾਲ ਸਬੰਧਤ ਫ਼ੀਲਡ ਦਿਖਾਉਂਦਾ ਹੈ, ਨਾਲ ਹੀ ਕਦਮ ਦਾ ਨਾਮ ਅਤੇ ਇੱਕ ਕਿਸਮ ਚੋਣਕਾਰ।

:::tip[ਵੇਰੀਏਬਲ ਤੁਹਾਡੇ ਕਦਮਾਂ ਨੂੰ ਆਪਸ ਵਿੱਚ ਜੋੜਦੇ ਹਨ]

ਇੱਕ **Question** ਜਾਂ **Set Variable** ਕਦਮ ਆਪਣਾ ਨਤੀਜਾ ਤੁਹਾਡੇ ਵੱਲੋਂ ਚੁਣੇ ਨਾਮ ਹੇਠ ਸਟੋਰ ਕਰਦਾ ਹੈ। ਇਸ ਨੂੰ ਬਾਅਦ ਵਿੱਚ — ਇੱਕ Message, ਇੱਕ Condition ਦੇ ਫ਼ੀਲਡ, ਇੱਕ Webhook ਬੌਡੀ ਜਾਂ ਇੱਕ ਨੋਟੀਫ਼ਿਕੇਸ਼ਨ ਮੈਪਿੰਗ ਵਿੱਚ — ਕਰਲੀ-ਬਰੈਕਟ ਸਿੰਟੈਕਸ ਜਿਵੇਂ `{variable_name}` ਨਾਲ ਹਵਾਲਾ ਦਿਓ। ਇਉਂ ਇੱਕ ਫ਼ਲੋ ਯਾਦ ਰੱਖਦਾ ਹੈ ਕਿ ਕਾਲਰ ਨੇ ਕੀ ਕਿਹਾ ਅਤੇ ਇਸ ਨੂੰ ਕਦਮਾਂ ਵਿੱਚ ਅੱਗੇ ਲੈ ਜਾਂਦਾ ਹੈ।

:::

## ਬ੍ਰਾਂਚਿੰਗ ਅਤੇ ਰੂਟਿੰਗ

ਕਦਮਾਂ ਨੂੰ ਸਿੱਧੀ ਲਾਈਨ ਵਿੱਚ ਚੱਲਣਾ ਜ਼ਰੂਰੀ ਨਹੀਂ:

- ਇੱਕ **Condition** ਕਦਮ **True** ਅਤੇ **False** ਆਊਟਪੁੱਟ ਜ਼ਾਹਰ ਕਰਦਾ ਹੈ। ਕਿਸੇ ਵੇਰੀਏਬਲ ਦੇ ਮੁੱਲ 'ਤੇ ਬ੍ਰਾਂਚ ਕਰਨ ਲਈ ਹਰ ਇੱਕ ਨੂੰ ਇੱਕ ਟੀਚਾ ਕਦਮ ਨਾਲ ਜੋੜੋ (ਜਾਂ ਇਸ ਨੂੰ **Continue in order** 'ਤੇ ਛੱਡ ਦਿਓ)।
- ਹਰ ਦੂਜੀ ਕਦਮ ਕਿਸਮ ਵਿੱਚ **On Success** ਅਤੇ **On Failure** ਰੂਟਿੰਗ ਹੁੰਦੀ ਹੈ। ਮੂਲ ਤੌਰ 'ਤੇ ਇੱਕ ਕਦਮ ਕ੍ਰਮ ਵਿੱਚ ਅਗਲੇ ਵੱਲ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ; ਕਿਤੇ ਹੋਰ ਛਾਲ ਮਾਰਨ ਲਈ ਇਹਨਾਂ ਨੂੰ ਸੈੱਟ ਕਰੋ — ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਫ਼ੇਲ੍ਹ ਹੋਏ Tool Call ਨੂੰ ਇੱਕ ਰਿਕਵਰੀ ਸੁਨੇਹੇ ਵੱਲ ਰੂਟ ਕਰੋ।

ਤੁਸੀਂ ਰੂਟਿੰਗ ਦੋ ਤਰੀਕਿਆਂ ਨਾਲ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ: ਕਨਫ਼ਿਗ ਪੈਨਲ ਵਿੱਚ ਟੀਚਾ ਕਦਮ ਚੁਣੋ, ਜਾਂ ਕੈਨਵਸ 'ਤੇ ਇੱਕ ਕਦਮ ਦੇ ਆਊਟਪੁੱਟ ਹੈਂਡਲ (ਹਰਾ **OK** / **TRUE** ਹੈਂਡਲ ਜਾਂ ਲਾਲ **FAIL** / **FALSE** ਹੈਂਡਲ) ਤੋਂ ਕਿਸੇ ਹੋਰ ਕਦਮ ਵੱਲ **drag a connection** ਕਰੋ। ਕੈਨਵਸ 'ਤੇ ਖਿੱਚੇ ਗਏ ਕਨੈਕਸ਼ਨ ਵਰਕਫ਼ਲੋ ਵਿੱਚ ਤੁਰੰਤ ਸੇਵ ਹੋ ਜਾਂਦੇ ਹਨ।

## ਬਣਾਉਣਾ ਅਤੇ ਸੇਵ ਕਰਨਾ

ਬਿਲਡਰ ਤਬਦੀਲੀਆਂ ਨੂੰ ਇੱਕ ਵੱਡੀ ਸੇਵ ਦੀ ਬਜਾਏ ਜਿਵੇਂ-ਜਿਵੇਂ ਤੁਸੀਂ ਕਰਦੇ ਹੋ ਉਵੇਂ-ਉਵੇਂ ਟਿਕਾ ਕੇ ਰੱਖਦਾ ਹੈ:

- **Add Intent** ਇੱਕ ਨਵੀਂ ਬ੍ਰਾਂਚ ਬਣਾਉਂਦਾ ਹੈ; ਇਸ ਦਾ ਨਾਮ, ਵੇਰਵਾ ਅਤੇ ਟ੍ਰਿਗਰ ਵਾਕੰਸ਼ ਭਰਨ ਲਈ ਇਸ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਫਿਰ ਪੈਨਲ ਵਿੱਚ **Save Changes** ਕਰੋ।
- **Add Step** ਤੁਹਾਡੇ ਵੱਲੋਂ ਚੁਣੀ ਕਿਸਮ ਦਾ ਇੱਕ ਕਦਮ ਪਾਉਂਦਾ ਹੈ; ਇਸ ਨੂੰ ਪੈਨਲ ਵਿੱਚ ਕਨਫ਼ਿਗਰ ਕਰੋ ਅਤੇ **Save Changes** ਕਰੋ।
- ਇੱਕ ਨੋਡ 'ਤੇ ਉੱਪਰ / ਹੇਠਾਂ ਚੈਵਰਨ ਇਰਾਦਿਆਂ ਅਤੇ ਕਦਮਾਂ ਨੂੰ **reorder** ਕਰਦੇ ਹਨ; ਇੱਕ ਨੋਡ ਨੂੰ ਮਿਟਾਉਣਾ (ਇਸ ਦੇ ਟ੍ਰੈਸ਼ ਆਈਕਨ ਜਾਂ Delete ਕੁੰਜੀ ਰਾਹੀਂ) ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਮੰਗਦਾ ਹੈ।
- ਟੂਲਬਾਰ **Save** ਬਟਨ **supervisor prompt** ਨੂੰ ਸਟੋਰ ਕਰਦਾ ਹੈ; ਇੱਕ ਅੰਬਰ ਬਿੰਦੀ ਨਾ-ਸੇਵ ਕੀਤੇ ਪ੍ਰੌਂਪਟ ਸੰਪਾਦਨਾਂ ਨੂੰ ਨਿਸ਼ਾਨਬੱਧ ਕਰਦੀ ਹੈ।

## ਇੱਕ ਟੈਂਪਲੇਟ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ

ਸਿਫ਼ਰ ਤੋਂ ਬਣਾਉਣ ਦੀ ਬਜਾਏ, **Templates** ਬਟਨ ਤਿਆਰ-ਬਣਾਏ ਫ਼ਲੋ ਪੇਸ਼ ਕਰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਲੋਡ ਕਰ ਕੇ ਫਿਰ ਸੰਪਾਦਿਤ ਕਰ ਸਕਦੇ ਹੋ: **Lead Qualification**, **Appointment Booking**, **Customer Support**, **NPS Survey**, **Payment Reminder** ਅਤੇ **Customer Onboarding**। ਹਰ ਇੱਕ ਆਪਣੇ ਕਦਮਾਂ ਨਾਲ ਇੱਕ ਮੁਕੰਮਲ ਇਰਾਦਾ ਪਾ ਦਿੰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸਵਾਲ, ਸ਼ਰਤਾਂ ਅਤੇ ਅਲਵਿਦਾ ਸੁਨੇਹੇ ਸ਼ਾਮਲ ਹਨ। ਇੱਕ ਟੈਂਪਲੇਟ ਲਾਗੂ ਕਰਨਾ ਤੁਹਾਡੇ ਮੌਜੂਦਾ ਵਰਕਫ਼ਲੋ ਨੂੰ ਬਦਲਣ ਦੀ ਬਜਾਏ ਉਸ ਵਿੱਚ **ਜੋੜਦਾ** ਹੈ, ਇਸ ਲਈ ਤੁਸੀਂ ਕਈਆਂ ਨੂੰ ਮਿਲਾ ਸਕਦੇ ਹੋ ਜਾਂ ਜੋ ਤੁਹਾਨੂੰ ਨਹੀਂ ਚਾਹੀਦਾ ਉਸ ਨੂੰ ਛਾਂਟ ਸਕਦੇ ਹੋ।

## ਇੱਕ OpenAPI ਸਪੈੱਕ ਤੋਂ ਫ਼ੰਕਸ਼ਨ ਆਯਾਤ ਕਰੋ

**Import API** ਬਟਨ ਇੱਕ ਮੌਜੂਦਾ API ਨੂੰ ਏਜੰਟ ਫ਼ੰਕਸ਼ਨਾਂ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ **Tool Call** ਕਦਮਾਂ ਤੋਂ ਕਾਲ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ **OpenAPI / Swagger** ਸਪੈੱਕ ਮੁਹੱਈਆ ਕਰੋ — URL ਰਾਹੀਂ ਜਾਂ ਇਸ ਨੂੰ ਪੇਸਟ ਕਰ ਕੇ (OpenAPI 2.0 ਜਾਂ 3.x, JSON ਜਾਂ YAML) — ਅਤੇ ਆਯਾਤਕਾਰ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਪਾਰਸ ਕਰਦਾ ਹੈ। ਜੋ ਓਪਰੇਸ਼ਨ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਉਹ ਚੁਣੋ, ਬੇਸ URL ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ, ਅਤੇ ਇਹ ਉਹਨਾਂ ਲਈ **custom functions** ਪੈਦਾ ਕਰਦਾ ਹੈ। ਫਿਰ ਉਹ ਫ਼ੰਕਸ਼ਨ Tool Call ਕਦਮਾਂ ਲਈ ਫ਼ੰਕਸ਼ਨ ਸੂਚੀ ਵਿੱਚ ਅਤੇ Tools ਟੈਬ 'ਤੇ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ।

:::info[ਫ਼ੰਕਸ਼ਨਾਂ ਦਾ ਕੈਟਾਲੌਗ ਕਿਤੇ ਹੋਰ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ]

ਇੱਕ Tool Call ਕਦਮ ਸਿਰਫ਼ ਉਹੀ ਫ਼ੰਕਸ਼ਨ ਵਰਤ ਸਕਦਾ ਹੈ ਜੋ ਏਜੰਟ ਲਈ ਪਹਿਲਾਂ ਹੀ ਉਪਲਬਧ ਹਨ — ਬਿਲਟ-ਇਨ ਫ਼ੰਕਸ਼ਨ ਅਤੇ [Tools ਟੈਬ](./tools-mcp) 'ਤੇ ਬੰਨ੍ਹੇ ਕੋਈ ਵੀ ਕਸਟਮ ਫ਼ੰਕਸ਼ਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ OpenAPI ਆਯਾਤਕਾਰ ਵੱਲੋਂ ਪੈਦਾ ਕੀਤੇ ਫ਼ੰਕਸ਼ਨ ਵੀ ਸ਼ਾਮਲ ਹਨ। ਜੇ ਜੋ ਫ਼ੰਕਸ਼ਨ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਉਹ ਸੂਚੀ ਵਿੱਚ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸ ਨੂੰ ਪਹਿਲਾਂ Tools ਟੈਬ 'ਤੇ ਜੋੜੋ।

:::

## ਅਗਲੇ ਕਦਮ

- [ਫ਼ੰਕਸ਼ਨ ਬੰਨ੍ਹੋ ਅਤੇ MCP ਸਰਵਰ ਜੋੜੋ (Tools ਟੈਬ)](./tools-mcp)
- [ਕਾਲ ਟ੍ਰਾਂਸਫ਼ਰ ਅਤੇ ਟੈਲੀਫ਼ੋਨੀ ਕਨਫ਼ਿਗਰ ਕਰੋ](./calling-telephony)
- [ਆਪਣਾ ਪਹਿਲਾ ਏਜੰਟ ਬਣਾਓ](./create-agent)
- [ਏਜੰਟ ਝਲਕ 'ਤੇ ਵਾਪਸ](./overview)
