This is the AnnaSeva site. This link opens it on your session's level, already chosen. Sign in if you are asked to, then check the dashboard here after your run.
Supply Drop - Hard
Resource Page Link
Control Room Link
This is the link to the control room you will be performing all hands on activities within.
https://aa-community.cloud.automationanywhere.digital/
Your session's build is in Bots/BAA/AnnaSeva/Hard_New Route No GPS.
API Documentation Page Link
The page below has all the API documentation for AnnaSeva.
Action One: Teach AT_Transfer to check the record first
Steps:
- Navigate to Hard_New Route No GPS/AG_Resolution/AT_Transfer and open it. It checks the youngest children's reservation and that a substitution came first, works out the kilograms still to move, then, inside the last If, reads the mail, the decision log and the policy into strDocs. Take note: then it moves the stock, without checking any of it against what was decided before.
- In Actions, find AI Skill and drag Execute directly below line 29, String: Assign to $strDocs$. It becomes line 30.
- Under AI Skill, click Choose, then the Browse button at the top right (not Search), and get Hard_New Route No GPS/AG_Resolution/AS_DocumentForensics from there, in private.
- Set its input documentsJson to:
$strDocs$ - Set its input proposedAction to:
Transfer $oStrQtyKg$ kg of $iStrIngredient$ from $iStrFromCentre$ to $iStrToCentre$ - Assign the response to strVerdict and the error to strSkillError.
- Drag an If below it. Condition: String, $strVerdict$, Includes, and the value:
forbids" - Inside it, drag String: Assign. Set the source string to the line below and the destination to oStrResult:
Refused before any stock moved: a past decision forbids this move. $strVerdict$ - Drag a second If below the first, not inside it. Condition: String, $strVerdict$, Does not include, and the value:
forbids" - Drag the existing REST Web Service: Post method and the String: Assign below it into this second If. All of this stays inside the last If (the one on $strGate$).
- Take note of what this adds: before any stock moves, AT_Transfer now gives AS_DocumentForensics AnnaSeva's past decisions, mail and policy, and asks whether they rule this transfer out. If they do, nothing moves and the result says why. If not, the transfer goes ahead as before. Press Save and close the task.
Action Two: Give AG_Resolution a new tool and a new principle
Steps:
- Navigate to Hard_New Route No GPS/AG_Resolution/AG_Resolution and open it. Go to Tools.
- Press Add tool, select API Task, click Choose, then the Browse button at the top right (not Search), and get Hard_New Route No GPS/AG_Resolution/AT_Allocate from there, in private. In its Tool description for AI, clear any text and paste:
Reserves a kitchen's usable stock of one ingredient for one programme. The youngest children's share (P2) is absolute under S1.1: before any of an ingredient moves at a kitchen that cooks P2, reserve P2's share of that same ingredient there, and the substitution and transfer tools check for it. Returns its ALLOC reference (ALLOC-kitchen-programme) for those tools. - Go to the Action plan. Click after the very last word, press Enter twice to start a new paragraph, and paste:
The records can be wrong, the gap list among them, so trust the inventory tool's checks. A line its gap check calls a recording fault is not work. A line it calls short is yours to close as its fix plan works it out, within policy: the youngest children's share of that line's own ingredient at that kitchen is reserved first (S1.1), the substitution it names is the cheapest legal fix (S8), and a transfer covers only what it says is still short, nothing more. A relief order the load check says rides on a load is the Operations Head's decision even when the load is CONFIRMED: frame it, and move no stock for it yourself. When a move is refused, read why: do what it asks and carry on, or find another way when a past decision forbids it. - Take note: these are rules for the agent, not new steps: records can be wrong, the youngest children's share is reserved first (policy S1), and when a tool refuses, the agent reads why.
- Press Save and close the agent.
- Navigate to Hard_New Route No GPS/AG_Resolution/AG_FinishTheMoves and open it. Go to Tools.
- Press Add tool, select API Task, click Choose, then the Browse button at the top right (not Search), and get Hard_New Route No GPS/AG_Resolution/AT_Allocate from there, in private. In its Tool description for AI, clear any text and paste:
Reserves a kitchen's usable stock of one ingredient for one programme. The youngest children's share (P2) is absolute under S1.1: before any of an ingredient moves at a kitchen that cooks P2, reserve P2's share of that same ingredient there, and the substitution and transfer tools check for it. Returns its ALLOC reference (ALLOC-kitchen-programme) for those tools. - Take note: this is the second pass, which makes only the moves a check finds missing after the first agent. Now it can reserve the youngest children's share first too.
- Press Save and close the agent.
Action Three: Meet the Cauvery Agro connector
Steps:
- Cauvery Agro Supplies (supplier S09) is not part of AnnaSeva. It is a separate company with its own API. AnnaSeva's policy S7 (Policy Viewer) says an emergency purchase is permitted only from the approved emergency vendor list, currently Cauvery Agro for rice and atta at Vasudha Nagar and Hubbangere, at up to 120% of the contract rate, with the Operations Head's prior approval. That purchase is Option 2 on today's form.
- Your facilitator opens Manage > Packages and shows the Cauvery Agro emergency supply connector. It was built once, with Connector Builder, from the API description Cauvery publishes, and everyone in this Control Room uses it.
- It has four actions: Authentication, which takes your key once, then Get Emergency Quote, Place Emergency Order and Get Emergency Orders. Each call runs on the key you give it, so it acts on your own AnnaSeva workspace.
- Take note: without a connector, every bot that talks to Cauvery has the address, the headers and the key typed into it by hand. Hard_New Route No GPS/AG_Resolution/AT_CauveryQuote still works that way. With the connector, Cauvery is set up once, and each bot picks the action it needs.
Action Four: Place the order through the connector
Steps:
- Navigate to Hard_New Route No GPS/AT_RecordDecision and open it. It records the Operations Head's decision and carries it out. Find the If for Option 2 - buy from Cauvery, then notify all firm. Take note: it tells the district that every meal is firm, but nothing places the order yet.
- In Actions, open Cauvery Agro emergency supply and drag Authentication into that If, above the REST Web Services: Post method already there.
- Leave Session name as it is. Under API Token, choose Insecure string and paste:
$iStrApiKey$ - It warns the value is not encrypted: that is expected, it only passes on the key the process was given.
- Drag Place Emergency Order directly below Authentication. Leave Session name, Content-Type and Accept as they are.
- Set centre_id to:
$iStrBuyCentre$ - Set ingredient to:
$iStrBuyIngredient$ - Set qty to:
$iStrBuyQtyKg$ - Set approval_ref to:
$strApprovalRef$ - Under Save the outcome to a variable, keep Multiple variables and press Add variable mapping. For Key, paste:
response - For Map to variable, choose strCauRef and press Add.
- Take note: the order answers with its CAU- reference, and the district notice below carries that reference. If the order is refused, no notice goes out, so the district is never promised meals that were not bought. Press Save and close the task.
Action Five: Run it and decide
Steps:
- Open the AnnaSeva link at the top of this page. On the dashboard, press Reset at the top right and press OK, so the day starts fresh.
- Navigate to Hard_New Route No GPS/PR_AnnaSeva_NewRoute, open it and press Run.
- Get your key: on the AnnaSeva dashboard, press Settings at the top right, then Generate / regenerate API key, and copy the key it shows. It starts aa_live_ and is shown only once. Paste it into iStrApiKey and click Confirm.
- This one takes about 15 to 18 minutes, the form included. Watch the agent separate what is true from what the records say: the five dal lines are not a real shortage (the recipe calls it Arhar Dal (Toor), the stock list calls it Toor Dal), the youngest children's share is reserved first, the transfer waits for the substitution, and P-2605 is still in transit (Inbound Deliveries).
- After the agent finishes, a check (Check the desk's moves against AnnaSeva's records in Co-Pilot) reads AnnaSeva's own records to confirm that every move the agent had to make is really there. If they all are, the run goes on. If one is missing, the second pass makes only the missing moves, and the check runs again. If a move is still missing after that, the run stops and says so: reset the day and run it again.
- When the form arrives, read the rule, then the brief and the recommendation. The brief's THE LOAD line names the delivery, P-2605, and today its status is IN-TRANSIT. AnnaSeva's policy S6 (Policy Viewer) says day plans may count only deliveries with status CONFIRMED, so it does not count: the answer is Option 2 - buy from Cauvery.
- The recommendation applies the same rule to that line, so it says Option 2 too. If it ever says otherwise, choose by the rule: the rule decides, not the agent.
- The reason box arrives filled with the recommendation's reason. Keep it, or write your own of at least 20 characters naming the load, its status and the policy. Type your name and press Record decision.
- On the AnnaSeva site, open All systems > SupplierNet > Cauvery - Emergency. Under Placed orders, your order is there: Atta (Wheat Flour) for C1, 1,075 kg, with the OH- approval reference your decision created. It went through the connector. So did the close-out after your decision: its agent received every delivery that had arrived in one call, through a second connector, AnnaSeva Deliveries (its tool ReceiveDeliveries loops over the connector's Receive Delivery action).
- Open the AnnaSeva dashboard: click Back to systems on the Settings page (or All systems on any other AnnaSeva page), then AnnaSeva Ops. The shift status reads complete, 6 of 6.