# பணிப்பாய்வு உருவாக்கி (Workflow Builder)


# பணிப்பாய்வு உருவாக்கி (Workflow Builder)

**Workflow Builder** என்பது **ஸ்கிரிப்ட் செய்யப்பட்ட அழைப்பு ஓட்டங்களுக்கான** ஒரு காட்சி, நோடு-அடிப்படையிலான எடிட்டர். திறந்தநிலை முகவர் அடுத்து என்ன சொல்வது என்பதை மாதிரியே தீர்மானிக்க அனுமதிக்கும் இடத்தில், ஒரு பணிப்பாய்வு முகவருக்கு ஒரு நிர்ணயிக்கப்பட்ட பாதையை வழங்குகிறது — பேசும், கேட்கும், கிளைபிரியும், கருவிகளை அழைக்கும், மற்றும் உரையாடலைத் திசைப்படுத்தும் படிகளின் வரிசை. ஒரு அழைப்பு ஒரு வரையறுக்கப்பட்ட ஸ்கிரிப்டைப் பின்பற்ற வேண்டியிருக்கும்போது இதைப் பயன்படுத்துங்கள்: ஒரு லீடைத் தகுதிப்படுத்துதல், ஒரு சந்திப்பை முன்பதிவு செய்தல், ஒரு ஆதரவுச் சிக்கலை வரிசைப்படுத்துதல் அல்லது ஒரு கணக்கெடுப்பைச் சேகரித்தல். **/agent/setup**-இல் உள்ள முகவர் உருவாக்கியில் **Tools** தாவலிலிருந்து, **Open Workflow Builder** பொத்தானைப் பயன்படுத்தி இதைத் திறக்கிறீர்கள்.

ஒரு பணிப்பாய்வு ஒரே முகவருக்குச் சொந்தமானது. அழைப்பு நேரத்தில் ஒரு **supervisor** உரையாடலைக் கண்காணித்து, அழைப்பாளர் எந்த **intent**-ஐ வெளிப்படுத்துகிறார் என்பதைத் தீர்மானித்து, அந்த intent-இன் **steps**-ஐ வரிசையாக இயக்குகிறது. படிகளுக்குள் முகவர் பயன்படுத்தக்கூடிய செயல்பாடுகள் சரியாக நீங்கள் [Tools தாவலில்](./tools-mcp) இணைத்தவையே — நீங்கள் வழங்காத ஒரு கருவியை பணிப்பாய்வால் அணுக முடியாது.

## ஒரு பணிப்பாய்வு எவ்வாறு கட்டமைக்கப்படுகிறது

![Workflow Builder](/img/screenshots/portal/workflow-builder.png)
*Workflow Builder: n8n-பாணி நோடு கேன்வாஸில் தீர்மானகரமான அழைப்பு ஓட்டங்களை வடிவமைக்கவும், விருப்பத் தேர்வு மேற்பார்வையாளர் ப்ராம்ட்டுடன்.*

ஒரு பணிப்பாய்வுக்கு மூன்று உள்ளமைந்த நிலைகள் உள்ளன:

- **Graph** — ஒரு முகவருக்கு ஒரு பணிப்பாய்வு. இது ஒரு விருப்பத்தேர்வு **supervisor prompt**-ஐ (intents-ஐ திசைப்படுத்தும் AI supervisor-க்கான தனிப்பயன் வழிமுறைகள்) கொண்டுள்ளது. நீங்கள் graph-ஐ உருவாக்கும் வரை, supervisor-prompt புலத்துடன் ஒரு முறை மட்டும் தோன்றும் **Create Workflow Graph** திரையை உருவாக்கி காட்டுகிறது.
- **Intents** — உரையாடலின் கிளைகள். ஒவ்வொரு intent-க்கும் ஒரு **display name**, ஒரு **internal name**, ஒரு **description** (intent-ஐப் பொருத்த முடியும்படி supervisor மாதிரிக்குக் காட்டப்படுகிறது), **trigger phrases** பட்டியல், ஒரு **default intent** நிலைமாற்றி, மற்றும் அதன் எல்லாப் படிகளும் தோல்வியடைந்தால் பயன்படுத்தப்படும் ஒரு விருப்பத்தேர்வு **fallback response** உள்ளன. அழைப்பாளர் சொன்னதற்கு எந்த intent-இன் description மற்றும் trigger phrases சிறப்பாகப் பொருந்துகின்றனவோ அதை supervisor தேர்வு செய்கிறது.
- **Steps** — ஒரு intent-க்குள் வரிசைப்படுத்தப்பட்ட செயல்கள். படிகள் இயல்பாக மேலிருந்து கீழாக இயங்குகின்றன, மேலும் ஒவ்வொரு படிக்கும் அது என்ன செய்கிறது என்பதைத் தீர்மானிக்கும் ஒரு வகை உள்ளது.

கேன்வாஸில் இது ஒரு பச்சை **Start** நோடாகத் தோன்றி, ஒவ்வொரு கிளைக்கும் ஒரு **Intent** நோடாக ஓடி, அந்த intent-இன் **Step** நோடுகள் அதற்குக் கீழே அடுக்கப்பட்டிருக்கும். ஒரு மினிமேப், ஜூம் கட்டுப்பாடுகள் மற்றும் ஒரு புள்ளியிட்ட பின்னணி பெரிய ஓட்டங்களில் வழிசெலுத்த உதவுகின்றன.

:::info[supervisor எவ்வாறு திசைப்படுத்துகிறது என்பது intents மூலம்தான்]

supervisor அழைப்பாளரின் வாக்கியத்தை ஒவ்வொரு intent-இன் **description** மற்றும் **trigger phrases** உடன் பொருத்துகிறது, எனவே ஒரு சக ஊழியருக்கு விளக்குவது போல descriptions எழுதுங்கள் ("User wants to book or schedule an appointment") மேலும் சில இயல்பான trigger phrases சேர்க்கவும். வேறு எதனுடனும் தெளிவாகப் பொருந்தாத உரையாடல்களைப் பிடிக்க ஒரு intent-ஐ **default** ஆகக் குறிக்கவும்.

:::

## படி வகைகள்

(ஒரு intent அல்லது அதன் படிகளில் ஒன்றைத் தேர்ந்தெடுத்த பிறகு) **Add Step** மூலம் ஒரு படியைச் சேர்க்கவும், இது நோடு தேர்வியைத் திறக்கிறது. தேர்வி படி வகைகளை **Conversation**, **Logic**, **Integrations** மற்றும் **Call Control** என தொகுக்கிறது. பதின்மூன்று வகைகள் உள்ளன:

- **Message** — பாட் அழைப்பாளரிடம் ஒரு வரியைப் பேசுகிறது.
- **Question** — பாட் ஏதாவது கேட்டு பதிலை ஒரு **variable**-இல் சேமிக்கிறது. நீங்கள் ஒரு **validation type** (Any, Number, Email, Date, Yes / No அல்லது Phone) மற்றும் பதில் சரிபார்ப்பில் தோல்வியடையும்போது பயன்படுத்தப்படும் ஒரு **re-ask message** ஆகியவற்றைத் தேர்வு செய்கிறீர்கள்.
- **Condition** — ஓட்டத்தைக் கிளைபிரிக்கிறது. நீங்கள் ஒரு **field** (ஒரு அமர்வு variable), ஒரு **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** செயல்பாட்டை அழைக்கிறது. நீங்கள் கருவி வகை, செயல்பாடு, மற்றும் படி உள்ளீடுகளை அமர்வு variables-உடன் வரைபடமாக்கும் ஒரு விருப்பத்தேர்வு **input mapping** (JSON) ஆகியவற்றைத் தேர்ந்தெடுக்கிறீர்கள்.
- **Appointment** — அதன் சொந்த input mapping-உடன், ஒரு முன்பதிவு செயல்பாட்டிற்கு எதிராக ஒரு சந்திப்பு-முன்பதிவு துணை-ஓட்டத்தை இயக்குகிறது.
- **Webhook** — ஒரு வெளிப்புற URL-க்கு ஒரு HTTP கோரிக்கையை அனுப்புகிறது. நீங்கள் **method** (GET, POST, PUT, PATCH, DELETE), **URL**, விருப்பத்தேர்வு **headers** (JSON), ஒரு **body template**, மற்றும் **save the response** செய்ய ஒரு variable ஆகியவற்றை அமைக்கிறீர்கள்.
- **Transfer** — மாற்றத்திற்கு முன் அறிவிக்கப்படும் ஒரு விருப்பத்தேர்வு செய்தியுடன், அழைப்பை மற்றொரு **phone number or queue**-க்கு ஒப்படைக்கிறது. அழைப்பு மாற்றங்கள் முழுமையாக எவ்வாறு செயல்படுகின்றன என்பதற்கு [அழைப்பு & தொலைபேசி](./calling-telephony) பார்க்கவும்.
- **End Call** — விருப்பப்படி முதலில் ஒரு **goodbye message** பேசி, அழைப்பைத் துண்டிக்கிறது.
- **Delay** — தொடர்வதற்கு முன் குறிப்பிட்ட எண்ணிக்கையிலான வினாடிகள் (1–60) அமைதியாகக் காத்திருக்கிறது.
- **Set Variable** — ஒரு மதிப்பை (நிலையான உரை அல்லது மற்றொரு variable-க்கான குறிப்பு) ஒரு அமர்வு variable-இல் சேமிக்கிறது.
- **Send Notification** — பெயரிடப்பட்ட ஒரு டெம்ப்ளேட் மற்றும் ஒரு variable mapping (JSON) பயன்படுத்தி ஒரு **SMS**, **email** அல்லது **WhatsApp** செய்தியை அனுப்புகிறது.
- **Static Response** — ஒரு நிலையான உரைத் தொகுதியைப் பேசுகிறது. இது ஒரு பழைய (legacy) நோடு; புதிய ஓட்டங்களுக்கு **Message**-ஐ விரும்புங்கள்.
- **Play Audio** — அழைப்பாளருக்கு ஒரு ஆடியோ கோப்பை (ஒரு பொது WAV அல்லது MP3 URL) இயக்குகிறது.

நீங்கள் ஒரு நோடைத் தேர்ந்தெடுக்கும்போது திறக்கும் **right-hand panel**-இல் ஒவ்வொரு படியும் கட்டமைக்கப்படுகிறது. அந்தப் படியின் வகைக்குப் பொருத்தமான புலங்களையும், படியின் பெயரையும், ஒரு வகைத் தேர்வியையும் மட்டுமே பேனல் காட்டுகிறது.

:::tip[Variables உங்கள் படிகளை ஒன்றாக இணைக்கின்றன]

ஒரு **Question** அல்லது **Set Variable** படி அதன் முடிவை நீங்கள் தேர்ந்தெடுக்கும் ஒரு பெயரின் கீழ் சேமிக்கிறது. பின்னர் — ஒரு Message-இல், ஒரு Condition-இன் புலத்தில், ஒரு Webhook body-யில் அல்லது ஒரு notification mapping-இல் — `{variable_name}` போன்ற சுருள்-அடைப்புக்குறி தொடரியல் மூலம் அதைக் குறிப்பிடுங்கள். அழைப்பாளர் சொன்னதை ஒரு ஓட்டம் எவ்வாறு நினைவில் வைத்து படிகள் முழுவதும் முன்னோக்கி எடுத்துச் செல்கிறது என்பது இதுதான்.

:::

## கிளைபிரித்தல் மற்றும் திசைப்படுத்துதல்

படிகள் ஒரு நேர்கோட்டில் இயங்க வேண்டிய அவசியமில்லை:

- ஒரு **Condition** படி **True** மற்றும் **False** வெளியீடுகளை வெளிப்படுத்துகிறது. ஒரு variable-இன் மதிப்பின் அடிப்படையில் கிளைபிரிக்க, ஒவ்வொன்றையும் ஒரு இலக்குப் படிக்கு இணைக்கவும் (அல்லது **Continue in order**-இல் விட்டுவிடவும்).
- மற்ற ஒவ்வொரு படி வகைக்கும் **On Success** மற்றும் **On Failure** திசைப்படுத்துதல் உண்டு. இயல்பாக ஒரு படி வரிசையில் அடுத்ததற்குத் தொடர்கிறது; வேறு இடத்திற்குத் தாவ இவற்றை அமைக்கவும் — எடுத்துக்காட்டாக, தோல்வியடைந்த ஒரு Tool Call-ஐ ஒரு மீட்பு செய்திக்குத் திசைப்படுத்தவும்.

திசைப்படுத்துதலை இரண்டு வழிகளில் அமைக்கலாம்: கட்டமைப்புப் பேனலில் இலக்குப் படியைத் தேர்வு செய்யுங்கள், அல்லது கேன்வாஸில் ஒரு படியின் வெளியீட்டுக் கைப்பிடியிலிருந்து (பச்சை **OK** / **TRUE** கைப்பிடி அல்லது சிவப்பு **FAIL** / **FALSE** கைப்பிடி) மற்றொரு படிக்கு ஒரு **இணைப்பை இழுக்கவும்**. கேன்வாஸில் வரையப்பட்ட இணைப்புகள் உடனடியாக பணிப்பாய்வில் சேமிக்கப்படுகின்றன.

## உருவாக்குதல் மற்றும் சேமித்தல்

உருவாக்கி மாற்றங்களை ஒரே பெரிய சேமிப்பாக அல்லாமல், நீங்கள் செய்யும்போதே நிலைநிறுத்துகிறது:

- **Add Intent** ஒரு புதிய கிளையை உருவாக்குகிறது; அதன் பெயர், description மற்றும் trigger phrases-ஐ நிரப்ப அதைக் கிளிக் செய்து, பின்னர் பேனலில் **Save Changes** செய்யுங்கள்.
- **Add Step** நீங்கள் தேர்வு செய்யும் வகையின் ஒரு படியைச் செருகுகிறது; அதைப் பேனலில் கட்டமைத்து **Save Changes** செய்யுங்கள்.
- ஒரு நோடின் மேல் / கீழ் செவ்ரான்கள் intents மற்றும் steps-ஐ **மறுவரிசைப்படுத்துகின்றன**; ஒரு நோடை நீக்குவது (அதன் குப்பை ஐகான் அல்லது Delete விசை மூலம்) முதலில் உறுதிப்படுத்தலைக் கேட்கிறது.
- கருவிப்பட்டியின் **Save** பொத்தான் **supervisor prompt**-ஐ சேமிக்கிறது; சேமிக்கப்படாத prompt திருத்தங்களை ஒரு அம்பர் புள்ளி குறிக்கிறது.

## ஒரு டெம்ப்ளேட்டிலிருந்து தொடங்குங்கள்

புதிதாக உருவாக்குவதற்குப் பதிலாக, **Templates** பொத்தான் நீங்கள் ஏற்றி பின்னர் திருத்தக்கூடிய தயாராக-உள்ள ஓட்டங்களை வழங்குகிறது: **Lead Qualification**, **Appointment Booking**, **Customer Support**, **NPS Survey**, **Payment Reminder** மற்றும் **Customer Onboarding**. ஒவ்வொன்றும் கேள்விகள், நிபந்தனைகள் மற்றும் goodbye செய்திகள் உட்பட அதன் படிகளுடன் ஒரு முழுமையான intent-ஐ இணைக்கிறது. ஒரு டெம்ப்ளேட்டைப் பயன்படுத்துவது உங்கள் தற்போதைய பணிப்பாய்வை மாற்றுவதற்குப் பதிலாக அதனுடன் **சேர்க்கிறது**, எனவே பலவற்றை இணைக்கலாம் அல்லது தேவையில்லாததைக் குறைக்கலாம்.

## ஒரு 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) இணைக்கப்பட்ட எந்த custom functions-ம், OpenAPI இறக்குமதியாளரால் உருவாக்கப்பட்டவை உட்பட. நீங்கள் விரும்பும் செயல்பாடு பட்டியலிடப்படவில்லை என்றால், முதலில் அதை Tools தாவலில் சேர்க்கவும்.

:::

## அடுத்த படிகள்

- [செயல்பாடுகளை இணைத்து MCP சர்வர்களை இணைக்கவும் (Tools தாவல்)](./tools-mcp)
- [அழைப்பு மாற்றங்களையும் தொலைபேசியையும் அமைக்கவும்](./calling-telephony)
- [உங்கள் முதல் முகவரை உருவாக்குங்கள்](./create-agent)
- [முகவர்கள் மேலோட்டத்திற்குத் திரும்பு](./overview)
