Streamline Sales Order Automation with airSlate SignNow

Transform your sales process with an easy-to-use, cost-effective solution for sending and eSigning documents.

airSlate SignNow regularly wins awards for ease of use and setup

See airSlate SignNow eSignatures in action

Create secure and intuitive e-signature workflows on any device, track the status of documents right in your account, build online fillable forms – all within a single solution.

Collect signatures
24x
faster
Reduce costs by
$30
per document
Save up to
40h
per employee / month

Our user reviews speak for themselves

illustrations persone
Kodi-Marie Evans
Director of NetSuite Operations at Xerox
airSlate SignNow provides us with the flexibility needed to get the right signatures on the right documents, in the right formats, based on our integration with NetSuite.
illustrations reviews slider
illustrations persone
Samantha Jo
Enterprise Client Partner at Yelp
airSlate SignNow has made life easier for me. It has been huge to have the ability to sign contracts on-the-go! It is now less stressful to get things done efficiently and promptly.
illustrations reviews slider
illustrations persone
Megan Bond
Digital marketing management at Electrolux
This software has added to our business value. I have got rid of the repetitive tasks. I am capable of creating the mobile native web forms. Now I can easily make payment contracts through a fair channel and their management is very easy.
illustrations reviews slider
Walmart
ExxonMobil
Apple
Comcast
Facebook
FedEx
be ready to get more

Why choose airSlate SignNow

  • Free 7-day trial. Choose the plan you need and try it risk-free.
  • Honest pricing for full-featured plans. airSlate SignNow offers subscription plans with no overages or hidden fees at renewal.
  • Enterprise-grade security. airSlate SignNow helps you comply with global security standards.
illustrations signature

Sales Order Automation

In today's fast-paced business environment, sales order automation is essential for streamlining processes and increasing efficiency. With the use of airSlate SignNow, businesses can easily send and eSign documents with a cost-effective solution.

Steps for Using airSlate SignNow for Sales Order Automation:

airSlate SignNow offers great ROI with its rich feature set suitable for any budget. It is easy to use and scale, making it ideal for SMBs and Mid-Market businesses. The transparent pricing ensures no hidden support fees or add-on costs, and all paid plans come with superior 24/7 support.

Experience the benefits of airSlate SignNow today and revolutionize your document signing process!

airSlate SignNow features that users love

Speed up your paper-based processes with an easy-to-use eSignature solution.

Edit PDFs
online
Generate templates of your most used documents for signing and completion.
Create a signing link
Share a document via a link without the need to add recipient emails.
Assign roles to signers
Organize complex signing workflows by adding multiple signers and assigning roles.
Create a document template
Create teams to collaborate on documents and templates in real time.
Add Signature fields
Get accurate signatures exactly where you need them using signature fields.
Archive documents in bulk
Save time by archiving multiple documents at once.
be ready to get more

Get legally-binding signatures now!

FAQs online signature

Here is a list of the most common customer questions. If you can’t find an answer to your question, please don’t hesitate to reach out to us.

Need help? Contact support

Trusted e-signature solution — what our customers are saying

Explore how the airSlate SignNow e-signature platform helps businesses succeed. Hear from real users and what they like most about electronic signing.

This service is really great! It has helped...
5
anonymous

This service is really great! It has helped us enormously by ensuring we are fully covered in our agreements. We are on a 100% for collecting on our jobs, from a previous 60-70%. I recommend this to everyone.

Read full review
I've been using airSlate SignNow for years (since it...
5
Susan S

I've been using airSlate SignNow for years (since it was CudaSign). I started using airSlate SignNow for real estate as it was easier for my clients to use. I now use it in my business for employement and onboarding docs.

Read full review
Everything has been great, really easy to incorporate...
5
Liam R

Everything has been great, really easy to incorporate into my business. And the clients who have used your software so far have said it is very easy to complete the necessary signatures.

Read full review

Related searches to make a sign

Sales order automation tools
Sales order automation examples
sales order automation sap
Sales order automation pdf
order entry automation
sales order acknowledgement
conexiom revenue
conexiom competitors
video background

How to create outlook signature

[Music] foreign welcome to the solution tutorial of sales order validation challenge as part of board game season 3. we hope you all had fun solving this Challenge and in this tutorial we are going to discuss about one of the approaches we had taken to solve this Challenge and also discuss about other alternate approaches as well as the solutions which you had shared on the social media let's get started first the objective of this challenge a fixtures auto parts company called catchy components has a list of sales orders they want to validate these sales orders and send out invoices in a timely fashion to improve their customer experience if you want to validate the delivery status for each of the items in the sales order and ingly generate invoices couple of tips there's definitely more than one way to solve this challenge the tracking application does take a few milliseconds to respond with the delivery status watch out for the loading time and if you rush to pick up the status you may end up picking up a empty status or the status from a previous record if you have searched for anything always consider the pros and cons of executing multiple approaches you may be looking at either the Simplicity of the logic or if you want to run at a insanely high speed always ensure you're building automation that is readable and understandable by others and easy to maintain in the long run let's take a look at the challenge page here is the challenge page and the bot has to start by launching this challenge page and then navigating to the sales application by clicking on this button the username and password to log into the sales application is also available here once you log into the sales orders application and clicking on the sales order page you will see a list of sales orders available in this application overall there are 20 pages and each page has 10 sales orders we want to look at the order status with either the value as delivery outstanding or confirm I and based on these status for this sales order expand this and then it will have multiple items with tracking number for each of these we want to pick up the tracking numbers one by one and then navigate to the tracking application the tracking application link is also available here once you click on this button it will take you to the tracking page and then enter the tracking number and click on track look for the delivery status here if it is delivered then continue to look for the other tracking numbers in the sales order if it is not delivered yet then you can actually move on to the next sales order if it is delivered for all the tracking numbers then you can click on the generate invoice button if not you can just click on close once you are done with processing all the records click on this export button you will have a CSV file generated this is the CSV file that will be generated and for this you can go back to the validation page and then choose this particular file and then select the CSV file once you are done click on upload file and then it will give you the accuracy of your Bot execution let's see how we can build this part I have logged into my automation 360 control room to solve this challenge we will use two Bots one is a masterbot and the other one is a childbot first we will start with the masterbot and I'll explain you about what the childbot will do later I'll click on create a bot and I'll give it a name sales order and I'll call this as master and then click on Create and edit before we build out the solution we will first create a skeleton for the entire workflow we will use the action called step to do that and then we will fill out one by one in a logical fashion let's start with the action called Step I'll drag and drop five steps foreign I'll also use the Dual mode so that I can see both in flow and list View and based on whichever view is comfortable to see we will use that I'll click on Save we will start by adding the description for each of these steps and then we will start filling out the logic for each of these blocks the first step is to set up the variables and we will also clean up the files from the previous execution the next step is to launch the challenge page and also login to the sales application and then we will extract the records from the sales order application and next is to process these records I'll add the description as process records and the final step is to upload and submit so now we have the description for all the steps let's start creating the variables I'll navigate to the variables section I'll click on create variable button and then give it a name s username this is the variable in which we are going to store the username to login to the sales order application click on create similarly I want to create a variable to store the password but for the password I don't want to use a string variable instead I want to use a credential variable I'll give it a name called C password and then for all production purposes ensure you store the variables such as passwords in the credential Vault and you use them in your Bot however for the demonstration purpose I'm just going to leave this as a insecure string and the third variable we are going to create is a download directory path and that I'll use it as a string variable click on create now that we have created the variables let's start assigning the values to these variables I look for the action called assign and then under string package I'll use two actions and I also need an assign action from the credential package I'm going to drag and drop this here so let's start configuring these actions on the first one let's get the value for the username so this is the username and I'll save this into the source string value and then save it into the variable called s username similarly let's get the password and then save it into the credential assign action as I mentioned earlier I am going to just use insecure string option for now and save this to a password and the last one is about the download directory path that's C drive I'll go to the users I'll click on my name and then click on downloads I'll copy this path from here and then select this assign action and I'll save it here and select the variable as s download direct now we have all the three variables assigned with the corresponding values next we want to see if we have downloaded any of these files like the one which I showed here before I run this bot again I want to delete this particular file and then execute my bot for that I'm going to use the action called if drag and drop this if action just below the string assign action and here I'm looking to see if the file exists so I'll just type the word called file and I'll select the option called file exist and let's enter the file path here we have a variable created so I'll select F2 and then s download directory path click on S insert then let me just expand this a little and then we know the name of the file that's going to be downloaded from the application I'll add this file name and if this file is available then we want to delete the file so I look for the action called delete so under the package file I'll drag and drop this delete action within this if action so we want to delete this file so I'll copy this part from here and then paste it here so now if this particular file is available then it is going to delete this particular file during the bot execution we are also going to generate one more file called output I'll show you the details in a while for that I'm also going to select another if action and if that file exists I want to delete that file as well so ensure you place the if statement outside the previous if statement created and I'll use the same action called file exist and in the path I'm going to add a path like C Temp and then I'll give it a name like output dot CSV I'll copy this path and if this file exists I will also want to delete this particular file I'll paste the path for this file as well so now whenever we run this bot it is going to check for these two files if these files exist then the bot is going to delete both these files and then continue the execution now let's move on to the next step I am going to collapse this particular step so that it's easier for us to see now we want to launch the challenge page for that I look for an action called browser open and drag and drop this within the step launch and login we're going to select the browser as Google Chrome let's get the link for the challenge page I'm going to copy it from here come back here and paste it the next step is to click on the sales app login button for that I am going to use recorder capture action and drag and drop it below the browser open Action select the browser option here I'll refresh the windows and select the validation page I'll select capture object button and then identify this sales app login button and it will start capturing the properties of this button and once it does that we will select the action that we want to click on this particular button and now once I click on this app login button here is the page I'll be taken to and here I want to enter the email address password and the click on the login button for that I will use three recorder capture actions one two and three let's configure each of these the first one I'll select the browser option and then click on refresh this time you're going to select the login page I'll select this capture object button and then identify this email field here now we want to enter the username into this field so that's why I'm going to take the action called set text and in the value to be entered I will select the variable which stores the username for that I am going to click on F2 and select s username and then click on S insert so this is going to enter the username into this particular email field and next is to enter the password so here I'll again select the browser option and select the login page click on capture object and this time we will identify this password field and in this password field I want to again set the text however I have this variable created which is a credential variable so I'll select this option called variable and then choose the variable that is C password click on yes insert and this is going to enter the password into that password field and the next action is to click on the login button I'll select this third capture select the browser and identify the same login page click on capture object and identify this login button field and once it captures the properties the action I want to take is the click click on Save now we are done with logging into the sales app login page let's do that manually also here so that we can navigate to the next page I'll copy the username from here and the password also from here I'll enter these details into the login page click on the login button and this is the home page for the sales order application in this page on the left panel we want to click on the sales orders tab so let's go here and we will add another recorder capture action and select the browser option now we are going to refresh the windows because it has navigated to a new page we want to get to that home page here I still don't see the home page here let me just double check yeah this page is available here let's refresh the page again and now we should be able to see this sales order home page select this page and click on capture object now we are going to identify this sales order tab on the left side now once we do that it will navigate to the main sales order page for that again I'm going to use one recorder capture action let's go back to this app page and click on the sales orders now here is where we will get to see all the sales orders now what we will do is like next step is to select the show entries as 100 by default it is 10 so let's do that changing from 10 to 100 here I'll click on browser again refresh because there is a new page loaded now the new page name has sales order list which I'm going to select and click on capture object and this time I'm going to identify this particular field where it shows the 10 entries currently but we want to change it to 100 for that the action we want to take is like select item by text and we will add the value as 100 here so that in the drop down it's going to select the value 100. once we do that next step is to identify all the order status which has delivery outstanding or the confirmed status so what we will do is like we will select this text called delivery outstanding copy this and paste it into this search field so that we will see all the values corresponding to the delivery outstanding as you can see there are like 32 entries and now let's change this to 100 so that all of these records are in one page so now let's add this step to enter the delivery outstanding status into the search bar over here I'll add one more recorder capture action click on browser and select the same sales order list and click on capture object now I'll identify this search field the action to take is like we want to set text here and to set the text I will enter this text called delivery outstanding and once we have the data we want to extract the data from the entire table for that again I'll use recorder capture action I'll add one more recorder capture action here click on browse and identify this sales order list page click on capture object now we will select the entire data table displayed on this page as you can see it has highlighted the entire table now the action to take is we want to get the table and we want to store it into a data table variable which we will create now I'll give it a name I'll add it the name as DT Master data and also because we are going to look for the status confirmed I will also add this word called delivery outstanding I'll just add the short form as do click on Create and select now the data is extracted and saved into this data table called Master data do next we will search for the status called confirmed and we will also capture the data from that particular table I'll click on browser then select the sales order list page click on capture object identify this search field and the action to take on the object is to set text and then we want to enter the text as confirmed click on Save next once it has all the data related to the delivery status confirmed we will extract this entire table we have 21 records here so now let's add one more recorder capture action in which we can get the data from the entire table going to select the sales order list page click on capture object identify this entire table and we will give it a name to store the entire data from the web table and the action is get table let's give it a name here I'll call this as DT confirmed data so this is the data table which we are creating now now we have two data tables one which captures the data for all the sales orders with the status delivery outstanding and the second one is the data from the status called confirm what we will do is like we'll start adding it into a CSV file for that I am going to use the action called Write to Phi and here first we want to choose the data table name first we will choose the first data table which we created that is the master data with delivery outstanding status and if you remember earlier I tried to delete a file called output.csv so that's the file which I'm going to create it here I'll give it a name in the folder C temp I'll give it the name as output dot CSV and I also want to select this option called create file or folder because when I execute it for the first time this file will not exist so now this file is created and it will have the table from the status delivery outstanding next we also want to add the data from the confirmed status table but before we do that what happens is when I am capturing this entire table it also captures this headers so now that I've already added this header into my CSV file I don't want to add one more header so for that I am going to delete the first record from the confirmed data table so that it will only add the values with the sales orders and not the header again for that I'll use an action called delete from the package called data table so delete row is what I want to do here and I'll select the data table name as confirmed data and the index is 0 because that's the first index that means it that is the first row which I want to delete from that particular data table so once I delete that I'll also add this data into the CSV file what I'll do is like I'll just copy this data table action and paste it after the delete row action and now let's change the data table name from Master data to confirmed data so this way now we have a CSV file with the status as both delivery outstanding and the records which has the status as confirmed now let's read this entire CSV file and get it into one single data table for that I am going to look for an action called CSV it will have three actions under the CSV package open read and close so we're going to use all these three actions so I'll click on extract record that is the next step in our bot first I'll use the action open then the read and then the close so let's configure each of these actions now first open I'll select a desktop file and give the path here uh the path let me take it from this data table action earlier which I have created I'll copy the path from here and then paste it here and we I'll also select the option called contains header so that I'm not going to navigate through that particular row which contains my headers and in the next action that is read once it reads the data we want to assign it to a data table let's create a new data table for that I'll say a DT I'll call this as entire data so DT is just a short form for data table and then I'm considering the entire data from both the status so that's why I'm just giving this name as entire data you can feel free to give any additional different names as well and then in the closed action we don't have to change anything we'll retain the session name as default that's the same session name we can see in this read action as well as the open Action that way all these three actions are connected using this session name and sure if you are changing the session name in one of these actions then you also have to change this in the other two actions as well so that they are all interrelated and they're able to read the data from one action to the other as the next step we will launch the tracking application for that I am going to use a browser open Action I'll drag and drop it below the CSV close action and here I want to open it in a new tab in my existing browser I'm going to select a browser tab as last use browser tab so that it's just going to open a new tab in the existing Chrome instance and then I'll add the link to open so that's the tracking application link here I'll paste it to this section so now we have all the three pages open that is the challenge page the sales order app page and also the tracking page now we will start reading through the data from the data table which we have read from the CSV file I'm going to use a loop action for that and we are going to Loop through all the records in the data table so I am going to select a option called for each row in the table and the table variable I am going to select the DT entire data and now whatever data we are going to read in each iteration we want to store it into a record variable for that I am going to create a new variable called r master table row so that every iteration I'll have one record data into this particular variable now for each row in the data table we want to pick up the sales order number and enter into the search field and then we want to see the record only for that particular sales order for that let's take a look at the data what we have captured in the CSV file I'll open this file which we have created as you can see here we have our first column empty and then the first row is all headers and then so this is index 0 and this is index one we want to start entering the sales order number into the search field so that we can see the record only for this sales order number for that what we will do is uh we will use a recorder capture action and I'll select browser and then choose the sales order list page and then click on capture object I want to select this search field now so I'm going to highlight this search field and here I want to enter the sales order number for that I'm going to get it from the record variable which we have created earlier so select an option called set text and in the keystrokes option I'm going to select F2 and select This Record variable which we have created and the index as we discussed we will select the index as one because the sales order number is available in the second column the First Column is empty that is index 0 and the second column has index 1 and that's where the sales order numbers are available so I'm going to click on S insert once we do that we will see the values only for this particular sales order number so this is how we will see the response now what we want to do is expand by clicking on this plus button and then start capturing this data table so let's perform that action by using the recorder capture action I'm going to add one more recorder capture action select the browser option and identify the sales order list page and click on capture object and now you want to identify this plus symbol button so that we can click on that particular icon I am going to perform a click on this action then click on Save now the bot will expand this particular icon now let's capture this sub table which contains the tracking number for each of the items available as part of this sales order number and again use a recorder capture action and then capture this sub table I'll select the option called sales order list click on capture object and let's identify this particular table okay and the action to take as we want to get the entire table and I'll save it into a data table called sub table click on Create and select now we will have the data from this sub table let's see how this data is captured so that we can start working with the data in this particular table to do that I will debug this bot so far and see how the data is captured into this particular data table just for debugging purpose I'm going to use a message box let me show you how I'm going to do this just add it here I'll call this as just give it a random message say it as high and then the goal is to see the data captured as part of the sub table I'm going to click on Save uh or close my CSV files and also I'll close my application Pages which I have launched and I will also place a breakpoint here and then click on debug so what this does is it will start executing the bot in the debug mode I'll click on start here the bot will run till this message box and then it will wait for me to respond by then we would have captured the data into this table called subtable let's see how the data looks like in the sub table I'm going to click on start here we will let the bot run and once it comes to that line number 33 it will wait for us to click on the next action so we'll give it a few seconds for the bot to launch the applications and also it's going to delete the files which we had created earlier it is going to save the data into the data table the bot will capture the data for the status delivery outstanding and confirmed and save it into a CSV file which we have created earlier you can notice that the bot has launched the challenge page and also the login page now it's going to enter the data into this username and the password and then click on the login button it will navigate to the home page now it's going to click on the sales order tab now the bot has executed till line 33 and it is waiting at line 33 for our input now let's go back to this control room and we can see the data here let's look at the sub table so here if I click on this particular subtable here you can see that the first row contains the header and then we have three records and then we have a fifth row but that is just the text from the buttons that is the generate invoice and the close so let's see here it has three rows and then it has captured the data from the text in this buttons generate invoice and close but we want to look at the tracking numbers only for these three records so we can delete the first row and the last row so let's do that and then we will continue from there for now I'm going to just end this uh debug option and click on close I will exit from the debug mode I don't need this message box anymore so I'm just going to disable this and also remove the breakpoint here so now we want to delete the two rows that is the first row and the last row in the data table I'm going to use an action called delete under the data table I'll have an action called delete row I'm going to use uh two of these I think it just paste it into a different location let me just drag and drop it to the location where I need it let's configure this delete row actions the data table name sdt subtable and we want to delete the row at index 0. so this will delete the first row and now we want to delete the last row as well so let me show you how you can get the last row in this data table there are two ways to get it one you can use an action called get number of rows under the data table package let me show you this data table here you can see that it has an action called get number of rows there is also a different option available let me show you how to do that I'll select the data table name as DT sub table and then I'll type a dollar symbol here and then DT and select this DD sub table and just before the dollar symbol place a DOT so that it will show you what are the other options you have which you can use and now you can see that it has a column count and a row count so I'm going to select the row count from here and then I'll reduce this by one because the index starts from 0 I am going to reduce the row count by 1 so that it can delete the last row here now we have deleted both the rows and all we have left will be the three records in this particular case which has three tracking numbers now we want to pick up these three tracking numbers and start searching for the delivery status in the tracking application now we want to look through each of the records in the sub table for that I'm going to use one more Loop drag and drop it below the delete row action and we want to look through each row in the table and the table is DT sub table and then let's create a record which will contain the value for that particular record itself I'm going to say R sub table rope and click on Create and select now we will have to start entering the tracking number into the tracking application and get the delivery status we don't want to do this as part of the master bot itself so let's create a childbot and we will invoke this child part from the masterbot I'm going to click on Save I'm going to duplicate this tab as well so that I can create one more child bot in a different tab and you could just move off here and I'll call this as a sales order childbot click on Create and edit so here the first step for me is to capture this data that is the tracking number and then come to this tracking application and enter it here for that I'm going to use a recorder capture action I look for recorder capture and then click on browser click refresh windows so that it will get you all the windows available and select the tracking application and then click on capture object now we want to select this tracking number search field I'm going to highlight this particular field here and now we want to set the text and select this option called set text and in the enter keystrokes we are going to get this data from the masterbot let create a variable called s tracking number and because I'm going to receive this from the masterbot I'm going to give it a suffix underscore input so that I know this is the value I'm getting it from the masterbot click on Create and now we will use this same variable here to enter the text into this particular field then click on S insert now I have this data entered into this search field next action is to click on this track button for that I am going to use recorder capture action select the browser and identify the tracking application here click on capture object and identify this track button and the action you want to perform is Click now you will have the values shown for this particular record for example I'll take this tracking number enter it here and then click on track and here is the result I am going to get for this tracking number notice when you click on this track button you will see a processing symbol that means it will take a few milliseconds to get you the response you have to ensure you wait for that sufficient amount of time so that you will have the scheduled delivery and its particular value just in case if you are in a rush to pick up this value and if the correct record is not yet loaded if you have searched for a different tracking number earlier you may be picking up the status for a different record that will lead to incorrect results so you want to give the bot sufficient time for the bot I mean for the page to load and then capture this scheduled delivery status and let's take a look at this table here in this table this is the first row and then we have three more rows here and then in terms of the columns this is the First Column and this is the second column so now before we proceed we want to ensure that the correct tracking number has loaded now let's capture this tracking number so that we can compare it with that number which we have entered earlier for that I am going to use recorder capture action and then click on browser select the tracking application click on capture object and identify this entire table and as we discussed earlier we want to see this tracking number that means this is in row number two column number two column one has this shipment overview and column two the first cell is empty because it does not have a specific header for this column and then this is the Row 2 and column 2 so we will use the index 2 2. I'll say the action we want to perform is get cell text by index and I'll use the index as Row 2 and then column 2 and then we will save it into a new variable I'll give it a name called s tracking number confirmation so that way we have two variables which stores the value from the master bot and the value retrieved from the delivery status table here to ensure the results for the tracking number is displayed we can add a static delay however there is better way to add a delay in a progressive manner let me show you how to do that for that I'm going to use a loop drag and drop this below this recorder capture action and we will do this for three times like we will wait for a specific amount of time and check for that condition if it matches we will move on if it doesn't match we will again add additional DeLay So that we are going to perform this action for three times and within this loop we're going to check if the particular tracking number is loaded for that I am going to use if action and add it into the loop action and here I'm going to look for a string comparison so first value we will look at is the S tracking number underscore input and that we will compare it to the variable that is s tracking number confirmation if this condition matches we can move on if not let's wait for a small amount of time and then we will proceed I'll move to a dual mode so that whichever view is convenient you can take a look at it if this condition is met we will break out of the loop for that I am going to look for an action called break and drag and drop it here if this is not met then I'm going to use a else statement and then I'll add a static delay I'm going to use an action called delay and then I will add a time unit of 100 milliseconds so it will wait for 100 milliseconds and then it will check for the condition again so this Loop will ensure that the tracking number is loaded and the delivery result is available next step is to capture the delivery status so the delivery status is here that is row number four and the column number two so we will add a recorder capture action to capture the delivery status we also have to ensure that we are loading this particular action outside the loop because we want the loop to be executed first the loop will ensure that the results for the correct tracking number is loaded and after that we will use this recorder capture action to capture the delivery status for that I am going to use browser action and identify this tracking page I'll click on capture object and I'll identify this entire shipping overview table and we want to capture the text from the specific field that is the index 4 2 that means we will select the option called get cell text by index and we will use the Row 4 and then column as 2 and the value we want to store it into a variable called s delivery status click on Create and select now we are going to have the delivery status stored here we want to pass this delivery status variable back to the masterbot so to do that I'll update this delivery status variable name to just give it a suffix underscore output this way we know that this is the variable which is going to capture the value and pass it to the masterbot now let's invoke this childbot from the masterbot I'll move to this masterbot section so we were in this Loop for each row in the table let's invoke the childbirth I'm going to look for an action called taskbot run I'm going to try and drop it here and now we will select the child bot here and sales order childbot is what we created I'll click on choose we want to pass the tracking number to the childbot however this because the message saying like this bot has no input values let's go back to the childbot look at the variables let's look at the input variable and let's use this option called use as input that way we will be able to pass the value from the masterbot to the childbot similarly to the variable called s delivery status underscore output we will use the option used as output that way we'll be able to pass the value back from the child bot to the masterbot click on apply and once this bot is saved go back here and then let's look for the childbot again I'll select this childbot click on choose and now you see that the value is coming up here now we want to pass the value tracking number to the childbot and that is saved as part of the record variable you can see the name of the record variable here this is the variable that is R sub table row so let's go here and I'll click on F2 and then we will select our sub table row and index is going to be 1 that is the second column let's come back here to confirm on that this is the subtable here is the index 0 and the index 1. we will add the values here as index one so it's going to pass the tracking number to the childbot and once we have the delivery status value we want to read that from the childbot for that I am going to save the outcome to a variable add variable mapping and choose the key so this is the value from the childbot and now we want to pass this to a variable in the masterbot for that I am going to create a new variable and as you can see the platform itself is suggesting you you can use the same name so that it's consistent across the masterbot and the childbirth I'll click on Create and select click on ADD now you have the value being mapped from the child bot to the masterbot now that we are in a loop to check the status of delivery for each of the items in the subtable we want to maintain a status flag to check if the status is delivered or not if it is not delivered then there is no point in checking for the remaining of the records in the subtable in that case we can move on so what I'll do is like I'll create a Boolean variable and let's store the status in that particular variable I'll go to this variable section I'll create a variable of the type Boolean I'll give it a name B delivery status and I'll leave the default as false click on create now based on whatever the output we are getting from the childbot we will check if the status is delivered if it is then we will set the flag to true if it is not we will continue to have the flag set to false for that I am going to use an if action I'll drag and drop this if and we're going to check for the string condition The Source value is the output whatever we received from the childbot that is s delivery status underscore output if this is equal to deliver only then we want to set the status of the Boolean variable to true so I'll look for an assign action in the Boolean to drag and drop it here say the value should be constant I am setting it to true and the variable is B delivery status if it is not then we will continue to set it to false for that I am going to look for an else action and drag and drop it below this assign action and I will also copy this Boolean assign action and paste it in the else section and also change the value to false and if the value is false then I want to break out of the loop because I don't want to check for the remaining records so I'm going to use this action called break and I will add it just below the assign action in the else section so this will take care of checking for the delivery status for all the records in the sub table now once I complete checking for all the records in the subtable now I want to check what is the flag status and if the flag status is true that means that all the items are delivered then I want to click on generate invoice for that I'm going to use an action called if again and check for the status of the flag I'm going to drag and drop it here this time we are going to check for the Boolean condition the Boolean condition variable and the variable as B delivery status if it is equal to true that's when we want to click on the generate invoice icon for that I'll look for recorder capture action and drag and drop it here I'll select browser I'll refresh the windows and then select sales order list I'll click on capture object I'm going to identify this generate invoice button and here I want to take the action of clicking on it so I'll select the action as click if the delivery status is not true then there is no action to be taken so I'll just leave that as is I will also add a Boolean assign action just before getting into this Loop to ensure I always assign the value false as a default for that I'm going to use an action called assign in Boolean package drag and drop it just above this one and I'm going to say constant value of false in the variable B delivery status so this way I always assign it to false once it gets into the loop based on if the delivery status is true or not it is going to set the value to true or false ingly I actually had a step called process records but it looks like I've added all of this in the extract records itself so let's move this section here I'll drag and drop this here foreign s in the process records section now the last step is to upload and submit before we can upload a file we need the file to be exported so let's export the file for that we will use the action called recorder capture I'll drag and drop this action here let me check if there is a file already downloaded we don't have any so we can use this recorder capture action I'll select the browser and in the list I'm going to select sales order list click on capture object and we want to identify this export button once you click on the export button I want to select the action as click once I click on the export button that will ensure the CSV is downloaded to the downloads folder the next step is to upload this file I'm going to use one more recorder capture action select the window as browser and this time we are going to select the page as sales order validation I'll click on capture object I want to click on this particular choose file button so that I can add the file I'll identify this particular button here and the action to take is Click I will click on the choose file manually as well so that I can have the open dialog now I'll use one more recorder capture action and this time I'll select application refresh the windows and now I should see this open window available under the available Windows section and here I want to enter the text and let me capture this object first this is the field I want to select that is the file name and next the action I want to take on this object is to set text so let me copy this section here I'll go to C users my name and then downloads this is where I'm going to get my file that is also the variable which we had created which captured the download directory path we can add that variable if you want or we can just add this text and then I'll add a backslash and I'll say sales order dot CSV that's the name of the file it's going to export and I'll also add a enter key at the end so that I don't have to click on the open button so I'll select this uh Enter key here and now the text is all entered the next step is to click on this upload file button let's add a recorded capture action for that here I'll select the browser and choose a tab as sales order validation click on capture object and identify this button upload file and the action to take on this is Click now the bot is ready we can run the bar and check the results I'm just going to close my Chrome browser and we are ready to run I just double check the downloads folder to see if this file already exists even if it exists it's anyway going to be deleted so that's nothing to be worried about I'll click on run we will let the bot run and since it's going to take a while for it to complete I'll fast forward this piece and once it is done with the execution I will come back and we will continue from there as you can see the result the bot has successfully completed the execution and the accuracy is hundred percent that means the bot was able to identify all the records for which we wanted to generate the invoice and it has successfully completed so this concludes the bot build for this solution I hope you enjoyed learning this tutorial now let's get back to the slides we looked at one of the approaches to solve this challenge let's discuss about other alternate approaches you can consider we specifically looked for the status delivery outstanding or confirmed and then extracted those records you don't have to do that you can extract all the records from the table and then in your Bot logic you can check for the status and then ingly expand that particular sales order and check for the delivery status of each of these items the only downside is that if you are working on the entire data table and expanding one of the rows you will have to work on the custom domics path in this case it will be a little more complex than the approach we had taken that's the only reason I wanted to show you an easier approach however if you are comfortable with using custom domics path you can always use that approach and then we wrote the entire data table into a CSV file and then read the data back to a data table and then processed all the records you can directly work of the data table itself and you can avoid writing it to a CSV file as well so these are couple of alternate approaches you can consider to solve this challenge irrespective of the approach you consider to solve a challenge always ensure that you are looking at the Simplicity of the logic because that's going to help more than the speed to create a maintainable automation thank you for your participation in Board Game season 3 I hope you enjoyed solving these challenges we look forward to see you in the next season of Bot games till then take care and happy learning I am Arjuna smeda and go be great thank you

Show more
be ready to get more

Get legally-binding signatures now!

Sign up with Google