Workato Training: Class 04 Notes
Topic: Workato Topics List, Data Retention, & Recipe Functions (Parent/Child)
Instructor: Rajesh (Batch 05)
1. AI Assistance & Best Practices
AI Tools for Workato:
Claude: Highly recommended for Workato-specific queries. Workato has partnered with Claude to integrate its LLM into Workato AI agents, meaning Claude is much better trained on Workato terminology and concepts.
ChatGPT: Has less specialized knowledge regarding Workato compared to Claude.
Cron Expressions: Used for scheduling triggers (e.g.,
0, 11, star, 1, 4, 7, 10for every 3 months;4, hash 4for every 4th Thursday).
2. Data Retention Policy & Terminology
Data Retention Policy: Defines the storage limit for deleted items and job execution histories. Once the retention period expires, the job data is purged and will display as "No data."
Trial Accounts: 30 days retention limit.
Corporate Accounts: 90 days retention limit.
Interview Pro-Tip: Do not use the term "trial account" in professional settings or interviews. Refer to it by its professional terminology: Sandbox Environment.
Note: If you need to keep a job history visible past its retention expiry, you must manually run a "repeat job" before the expiry date.
3. Recipe Functions (Parent & Child Recipes)
Recipe functions allow one recipe to trigger another. This is similar to a "branch and sub-branch" or "main and dependent" configuration in other iPaaS tools.
Building the Child (Dependent) Recipe
Trigger Setup: Set the trigger application to Recipe function by Workato and select the New call for a function event.
Schemas (Fields): In Workato terminology, "fields" are referred to as "schemas."
Parameter Schema: Defines the exact input data the child recipe expects to receive from the parent recipe. You can build this using a JSON object or by defining fields manually (e.g., adding a String field for a name). Fields can be marked as mandatory or optional.
Result Schema: Defines the specific output data the child recipe will return to the parent recipe upon completion.
Return Action: To send the response back to the parent, use the action step Return data from a recipe function and map the configured response data.
Building the Parent (Main) Recipe
Action Setup: Add an action step using the Recipe function by Workato app.
Calling the Child: Select the corresponding child recipe. The parameter schemas configured in the child will automatically populate, prompting you to map the data you wish to pass down.
Troubleshooting ("Cannot call a stopped recipe"): The child recipe must be in "Start" mode to be called. If it is inactive, the parent recipe will fail and throw an error.
4. Execution Modes: Synchronous vs. Asynchronous
When a parent recipe makes a call to a child recipe, it can do so in two distinct modes:
| Feature | Synchronous Call | Asynchronous Call |
| Execution Flow | Parent triggers the child and waits at that step until the child's execution is complete. | Parent triggers the child and immediately continues to its next step ("Fire and Forget"). |
| Return Data | Parent can capture and log return results/data from the child recipe. | Parent cannot receive return results. |
| Total Duration | The parent recipe's total execution time includes the duration of the child's execution. | The parent recipe does not wait, keeping its own execution time shorter. |
వర్కాటో శిక్షణ (Workato Training): క్లాస్ 04 నోట్స్
అంశం: వర్కాటో టాపిక్స్ లిస్ట్, డేటా రిటెన్షన్ (Data Retention) & రెసిపీ ఫంక్షన్స్ (పేరెంట్/చైల్డ్)
బోధకులు: రాజేష్ (బ్యాచ్ 05)
1. AI సహాయం & ఉత్తమ పద్ధతులు (Best Practices)
వర్కాటో కోసం AI టూల్స్:
Claude: వర్కాటోకి సంబంధించిన సందేహాల కోసం ఇది బాగా సిఫార్సు చేయబడింది. వర్కాటో తమ AI ఏజెంట్లలో LLM ను ఇంటిగ్రేట్ చేయడానికి క్లాడ్ (Claude) తో భాగస్వామ్యం కుదుర్చుకుంది. అంటే వర్కాటో పదజాలం మరియు కాన్సెప్ట్లపై క్లాడ్కు మెరుగైన శిక్షణ ఉంది.
ChatGPT: క్లాడ్తో పోలిస్తే వర్కాటో గురించి దీనికి తక్కువ ప్రత్యేక జ్ఞానం ఉంది.
క్రాన్ ఎక్స్ప్రెషన్స్ (Cron Expressions): ట్రిగ్గర్లను షెడ్యూల్ చేయడానికి ఉపయోగిస్తారు (ఉదా. ప్రతి 3 నెలలకు
0, 11, star, 1, 4, 7, 10; ప్రతి 4వ గురువారం4, hash 4).
2. డేటా రిటెన్షన్ పాలసీ & పదజాలం (Terminology)
డేటా రిటెన్షన్ పాలసీ: తొలగించబడిన అంశాలు మరియు జాబ్ ఎగ్జిక్యూషన్ హిస్టరీల స్టోరేజ్ పరిమితిని ఇది నిర్ణయిస్తుంది. ఈ గడువు ముగిసిన తర్వాత, జాబ్ డేటా తొలగించబడి "No data" అని చూపిస్తుంది.
ట్రయల్ అకౌంట్స్ (Trial Accounts): 30 రోజుల రిటెన్షన్ పరిమితి.
కార్పొరేట్ అకౌంట్స్ (Corporate Accounts): 90 రోజుల రిటెన్షన్ పరిమితి.
ఇంటర్వ్యూ ప్రో-టిప్: ఇంటర్వ్యూలలో లేదా ప్రొఫెషనల్ సందర్భాలలో "ట్రయల్ అకౌంట్" అనే పదాన్ని ఉపయోగించకండి. దానికి బదులుగా వృత్తిపరమైన పదమైన శాండ్బాక్స్ ఎన్విరాన్మెంట్ (Sandbox Environment) అని వాడండి.
గమనిక: రిటెన్షన్ గడువు ముగిసిన తర్వాత కూడా జాబ్ హిస్టరీ కనిపించాలంటే, గడువు తేదీ కంటే ముందే మీరు మాన్యువల్గా "రిపీట్ జాబ్ (repeat job)" రన్ చేయాలి.
3. రెసిపీ ఫంక్షన్స్ (పేరెంట్ & చైల్డ్ రెసిపీలు)
ఒక రెసిపీని ఉపయోగించి మరొక రెసిపీని ట్రిగ్గర్ చేయడానికి రెసిపీ ఫంక్షన్స్ అనుమతిస్తాయి. ఇది ఇతర iPaaS టూల్స్లోని "బ్రాంచ్ మరియు సబ్-బ్రాంచ్" లేదా "మెయిన్ మరియు డిపెండెంట్" కాన్ఫిగరేషన్ను పోలి ఉంటుంది.
చైల్డ్ (డిపెండెంట్) రెసిపీని రూపొందించడం
ట్రిగ్గర్ సెటప్: ట్రిగ్గర్ అప్లికేషన్ను Recipe function by Workato గా సెట్ చేసి, New call for a function ఈవెంట్ను ఎంచుకోండి.
స్కీమాస్ (ఫీల్డ్స్): వర్కాటో పరిభాషలో "ఫీల్డ్స్" ను "స్కీమాస్ (schemas)" అని పిలుస్తారు.
పారామీటర్ స్కీమా (Parameter Schema): పేరెంట్ రెసిపీ నుండి చైల్డ్ రెసిపీ స్వీకరించాల్సిన ఖచ్చితమైన ఇన్పుట్ డేటాను ఇది నిర్దేశిస్తుంది. JSON ఆబ్జెక్ట్ని ఉపయోగించి లేదా మాన్యువల్గా ఫీల్డ్లను డిఫైన్ చేయడం ద్వారా దీనిని నిర్మించవచ్చు (ఉదా. పేరు కోసం స్ట్రింగ్ ఫీల్డ్ని యాడ్ చేయడం). ఫీల్డ్లను తప్పనిసరి (mandatory) లేదా ఐచ్ఛికం (optional) గా సెట్ చేయవచ్చు.
రిజల్ట్ స్కీమా (Result Schema): ప్రక్రియ పూర్తయిన తర్వాత చైల్డ్ రెసిపీ నుండి పేరెంట్ రెసిపీకి తిరిగి పంపాల్సిన నిర్దిష్ట అవుట్పుట్ డేటాను ఇది నిర్దేశిస్తుంది.
రిటర్న్ యాక్షన్: పేరెంట్కి రెస్పాన్స్ పంపడానికి, Return data from a recipe function అనే యాక్షన్ స్టెప్ను ఉపయోగించి, కాన్ఫిగర్ చేసిన రెస్పాన్స్ డేటాను మ్యాప్ చేయండి.
పేరెంట్ (మెయిన్) రెసిపీని రూపొందించడం
యాక్షన్ సెటప్: Recipe function by Workato యాప్ని ఉపయోగించి యాక్షన్ స్టెప్ని జోడించండి.
చైల్డ్ని పిలవడం (Calling the Child): సంబంధిత చైల్డ్ రెసిపీని ఎంచుకోండి. చైల్డ్లో కాన్ఫిగర్ చేసిన పారామీటర్ స్కీమాలు ఆటోమేటిక్గా కనిపిస్తాయి. మీరు పంపాలనుకుంటున్న డేటాను మ్యాప్ చేయాలి.
ట్రబుల్షూటింగ్ ("Cannot call a stopped recipe"): చైల్డ్ రెసిపీని కాల్ చేయాలంటే అది ఖచ్చితంగా "స్టార్ట్ (Start)" మోడ్లో ఉండాలి. అది ఇన్యాక్టివ్గా ఉంటే, పేరెంట్ రెసిపీ ఫెయిల్ అయ్యి ఎర్రర్ వస్తుంది.
4. ఎగ్జిక్యూషన్ మోడ్స్: సింక్రోనస్ (Synchronous) vs అసింక్రోనస్ (Asynchronous)
పేరెంట్ రెసిపీ, చైల్డ్ రెసిపీని కాల్ చేసినప్పుడు, అది రెండు విభిన్న మోడ్లలో జరుగుతుంది:
| ఫీచర్ | సింక్రోనస్ కాల్ (Synchronous Call) | అసింక్రోనస్ కాల్ (Asynchronous Call) |
| ఎగ్జిక్యూషన్ ఫ్లో | పేరెంట్, చైల్డ్ని ట్రిగ్గర్ చేసి, చైల్డ్ ఎగ్జిక్యూషన్ పూర్తయ్యే వరకు ఆ స్టెప్ వద్ద వేచి ఉంటుంది. | పేరెంట్, చైల్డ్ని ట్రిగ్గర్ చేసిన వెంటనే దాని తదుపరి స్టెప్ను కొనసాగిస్తుంది ("ఫైర్ అండ్ ఫర్గెట్"). |
| రిటర్న్ డేటా | చైల్డ్ రెసిపీ నుండి తిరిగి వచ్చే ఫలితాలను/డేటాను పేరెంట్ స్వీకరించగలదు. | పేరెంట్ తిరిగి వచ్చే ఫలితాలను స్వీకరించదు. |
| మొత్తం వ్యవధి | పేరెంట్ రెసిపీ మొత్తం ఎగ్జిక్యూషన్ టైమ్లో చైల్డ్ ఎగ్జిక్యూషన్ వ్యవధి కూడా కలుస్తుంది. | పేరెంట్ రెసిపీ వేచి ఉండదు, కాబట్టి దాని స్వంత ఎగ్జిక్యూషన్ టైమ్ తక్కువగా ఉంటుంది. |
Workato Class Notes: Parent & Child Recipes (Function Calls)
Key Concepts: Synchronous vs. Asynchronous Modes
Function calls in Workato can be executed in two primary modes:
Synchronous Mode:
Waits for the child recipe to finish executing before the parent recipe moves to the next step.
Returns a response/data back to the parent recipe.
Risk: If the child recipe fails, the parent recipe will also fail.
Execution takes slightly longer (e.g., 643 milliseconds vs. 543 milliseconds for async).
Asynchronous Mode:
Operates on a "fire and forget" principle. The parent recipe triggers the child and immediately moves on.
Does not return a response to the parent recipe.
Benefit: A failure in the child recipe does not break or stop the parent recipe.
Highly recommended for production environments (used ~99% of the time) because it saves significant execution time, especially when dealing with high volumes of data (10,000 to 1 Lakh+ records).
Main Use Cases for Function Calls (Child Recipes)
1. Splitting Flows & Overcoming Step Limits
Limitation: A single Workato recipe is limited to 1,000 steps.
Best Practice: Even if you can add 1,000 steps, sequentially executing them takes too much time. Instead, split independent actions (e.g., loading data into MySQL, Salesforce, and Jira) into separate child recipes.
Simultaneous Execution: By triggering these child recipes asynchronously, data is loaded into multiple target systems simultaneously without delay, drastically reducing the overall execution time.
2. Reusable / Shareable Flows
Function calls act as modular, reusable components that can be triggered from $N$ number of parent recipes.
Example: Sending a standardized email notification. Instead of rebuilding the Gmail configuration (To, From, Subject, Body) in every recipe, create one child recipe for email alerts. Parent recipes can simply pass the required dynamic parameters (like email address and subject) to the child recipe.
Architectural & Data Routing Strategy
Source to Target: The typical pattern is to retrieve data from the source system (e.g., an SQL database) in the parent recipe, map that data to the child recipe's parameters, and have the child recipe load it into the target system.
No Return Required: Once the child recipe successfully loads the data into the target, it does not need to return a value to the parent.
Error Handling: If an asynchronous child recipe fails, it should be designed to handle its own errors (e.g., triggering a notification alert to a monitoring team) rather than returning the error to the parent flow.
Terminology & Next Steps
Lists and Records: When dealing with multiple rows of data (like from an Excel or CSV file), each row is referred to as a "Record". To send multiple records at once, you must configure an array of items, which in Workato is called a "List".
Upcoming Class Topic: How to exchange arrays/lists of data between parent and child recipes.
Q&A / Troubleshooting Notes
EDI Support: Workato supports EDI formats (such as X12 EDI), though extremely complex scenarios may require specific handling.
Salesforce Login Error: If you encounter an error logging into a Salesforce trial account via
login.salesforce.com, you must use the specific Instance URL (Login URL) provided in your Salesforce setup/welcome email.
Workato క్లాస్ నోట్స్: పేరెంట్ & చైల్డ్ రెసిపీలు (ఫంక్షన్ కాల్స్)
ముఖ్యమైన కాన్సెప్ట్లు: సింక్రోనస్ (Synchronous) మరియు అసింక్రోనస్ (Asynchronous) మోడ్లు
Workatoలో ఫంక్షన్ కాల్స్ని రెండు ప్రధాన మోడ్లలో ఎగ్జిక్యూట్ చేయవచ్చు:
సింక్రోనస్ మోడ్ (Synchronous Mode):
పేరెంట్ రెసిపీ తన తదుపరి దశకు వెళ్లే ముందు, చైల్డ్ రెసిపీ ఎగ్జిక్యూషన్ పూర్తయ్యే వరకు వేచి ఉంటుంది.
ఇది పేరెంట్ రెసిపీకి ప్రతిస్పందనను లేదా డేటాను (response/data) తిరిగి పంపుతుంది.
ప్రమాదం (Risk): చైల్డ్ రెసిపీ విఫలమైతే (fail), పేరెంట్ రెసిపీ కూడా విఫలమవుతుంది.
ఎగ్జిక్యూషన్ కోసం కొంచెం ఎక్కువ సమయం పడుతుంది (ఉదాహరణకు, async కి 543 మిల్లీసెకన్లు పడితే దీనికి 643 మిల్లీసెకన్లు పడుతుంది).
అసింక్రోనస్ మోడ్ (Asynchronous Mode):
ఇది "ఫైర్ అండ్ ఫర్గెట్" (fire and forget) సూత్రంపై పనిచేస్తుంది. పేరెంట్ రెసిపీ చైల్డ్ రెసిపీని ట్రిగ్గర్ చేసి, వెంటనే తదుపరి దశకు వెళ్లిపోతుంది.
ఇది పేరెంట్ రెసిపీకి ఎలాంటి రెస్పాన్స్ని తిరిగి ఇవ్వదు.
ప్రయోజనం: చైల్డ్ రెసిపీలో వైఫల్యం జరిగినా, అది పేరెంట్ రెసిపీని ఆపదు లేదా పాడుచేయదు.
ప్రొడక్షన్ ఎన్విరాన్మెంట్స్లో దీనిని ఎక్కువగా సిఫార్సు చేస్తారు (దాదాపు 99% సమయం దీనినే ఉపయోగిస్తారు), ఎందుకంటే ఇది ఎగ్జిక్యూషన్ సమయాన్ని బాగా ఆదా చేస్తుంది, ముఖ్యంగా ఎక్కువ డేటాతో (10,000 నుండి 1 లక్షకు పైగా రికార్డులు) పనిచేస్తున్నప్పుడు.
ఫంక్షన్ కాల్స్ (చైల్డ్ రెసిపీలు) యొక్క ముఖ్యమైన ఉపయోగాలు
1. ఫ్లోలను విభజించడం (Splitting Flows) & స్టెప్ లిమిట్స్ అధిగమించడం
పరిమితి: ఒకే Workato రెసిపీలో గరిష్టంగా 1,000 స్టెప్స్ మాత్రమే ఉండాలి.
బెస్ట్ ప్రాక్టీస్ (Best Practice): మీరు 1,000 స్టెప్స్ జోడించగలిగినప్పటికీ, వాటిని ఒకదాని తర్వాత ఒకటి ఎగ్జిక్యూట్ చేయడానికి చాలా సమయం పడుతుంది. దానికి బదులుగా, స్వతంత్ర చర్యలను (ఉదాహరణకు, MySQL, Salesforce, మరియు Jira లోకి డేటాను వేర్వేరుగా లోడ్ చేయడం) ప్రత్యేక చైల్డ్ రెసిపీలుగా విభజించండి.
ఏకకాలంలో ఎగ్జిక్యూషన్ (Simultaneous Execution): ఈ చైల్డ్ రెసిపీలను అసింక్రోనస్గా ట్రిగ్గర్ చేయడం ద్వారా, ఎలాంటి ఆలస్యం లేకుండా డేటా ఒకేసారి బహుళ టార్గెట్ సిస్టమ్లలోకి లోడ్ చేయబడుతుంది. దీనివల్ల మొత్తం ఎగ్జిక్యూషన్ సమయం బాగా తగ్గుతుంది.
2. పునర్వినియోగించగల (Reusable) / షేర్ చేయగల ఫ్లోలు
ఫంక్షన్ కాల్స్ మాడ్యులర్ మరియు పునర్వినియోగించగల కాంపోనెంట్లుగా పనిచేస్తాయి, వీటిని $N$ సంఖ్యలో పేరెంట్ రెసిపీల నుండి ట్రిగ్గర్ చేయవచ్చు.
ఉదాహరణ: ప్రామాణిక ఈమెయిల్ నోటిఫికేషన్ పంపడం. ప్రతి రెసిపీలో Gmail కాన్ఫిగరేషన్ను (To, From, Subject, Body) మళ్లీ మళ్లీ రూపొందించే బదులు, ఈమెయిల్ అలర్ట్స్ కోసం ఒక చైల్డ్ రెసిపీని సృష్టించండి. పేరెంట్ రెసిపీలు కేవలం అవసరమైన డైనమిక్ పారామితులను (ఈమెయిల్ చిరునామా మరియు సబ్జెక్ట్ వంటివి) చైల్డ్ రెసిపీకి పంపితే సరిపోతుంది.
ఆర్కిటెక్చరల్ & డేటా రూటింగ్ స్ట్రాటజీ
సోర్స్ నుండి టార్గెట్ కు (Source to Target): సాధారణ పద్ధతి ఏమిటంటే, పేరెంట్ రెసిపీలో సోర్స్ సిస్టమ్ (ఉదాహరణకు, SQL డేటాబేస్) నుండి డేటాను పొందడం, ఆ డేటాను చైల్డ్ రెసిపీ పారామితులకు మ్యాప్ చేయడం, ఆపై చైల్డ్ రెసిపీ ద్వారా ఆ డేటాను టార్గెట్ సిస్టమ్లోకి లోడ్ చేయడం.
ఎలాంటి రిటర్న్ అవసరం లేదు: చైల్డ్ రెసిపీ డేటాను టార్గెట్ సిస్టమ్ లోకి విజయవంతంగా లోడ్ చేసిన తర్వాత, అది పేరెంట్ రెసిపీ కి ఎలాంటి విలువను తిరిగి ఇవ్వాల్సిన అవసరం లేదు.
ఎర్రర్ హ్యాండ్లింగ్ (Error Handling): ఒకవేళ అసింక్రోనస్ చైల్డ్ రెసిపీ విఫలమైతే, అది ఎర్రర్ను పేరెంట్ ఫ్లోకి తిరిగి పంపే బదులు, తన స్వంత ఎర్రర్లను (ఉదా. మానిటరింగ్ బృందానికి నోటిఫికేషన్ అలర్ట్ను ట్రిగ్గర్ చేయడం ద్వారా) హ్యాండిల్ చేసేలా డిజైన్ చేయబడాలి.
పదజాలం (Terminology) & తదుపరి టాపిక్స్
లిస్ట్లు మరియు రికార్డ్లు: బహుళ అడ్డు వరుసల డేటాతో (Excel లేదా CSV ఫైల్ లాగా) పనిచేస్తున్నప్పుడు, ప్రతి అడ్డు వరుసను "రికార్డ్" (Record) అంటారు. ఒకేసారి బహుళ రికార్డులను పంపడానికి, మీరు వస్తువుల శ్రేణిని (array of items) కాన్ఫిగర్ చేయాలి, దీనినే Workatoలో "లిస్ట్" (List) అని పిలుస్తారు.
రాబోయే క్లాస్ టాపిక్: పేరెంట్ మరియు చైల్డ్ రెసిపీల మధ్య డేటా శ్రేణులు/లిస్ట్లను (arrays/lists) ఎలా ఎక్స్ఛేంజ్ చేయాలి.
Q&A / ట్రబుల్ షూటింగ్ నోట్స్
EDI సపోర్ట్: Workato EDI ఫార్మాట్లకు (X12 EDI వంటివి) మద్దతు ఇస్తుంది, అయినప్పటికీ అత్యంత సంక్లిష్టమైన ప్రాజెక్ట్లకు నిర్దిష్టమైన కాన్ఫిగరేషన్ అవసరం కావచ్చు.
Salesforce లాగిన్ ఎర్రర్: మీరు
login.salesforce.comద్వారా Salesforce ట్రయల్ ఖాతాలోకి లాగిన్ అయ్యేటప్పుడు ఎర్రర్ను ఎదుర్కొంటే, మీరు తప్పనిసరిగా మీ Salesforce సెటప్/వెల్కమ్ ఈమెయిల్లో అందించబడిన నిర్దిష్ట ఇన్స్టాన్స్ URL (లాగిన్ URL) ను మాత్రమే ఉపయోగించాలి.
No comments:
Post a Comment