UiPath - Hands On Enterprise Robotic Process Automation | Michael Tyiska | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

UiPath - Hands On Enterprise Robotic Process Automation

teacher avatar Michael Tyiska, RPA Architect

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

76 Lessons (8h 22m)
    • 1. 001

    • 2. 002

    • 3. 003

    • 4. 004

    • 5. 005

    • 6. 006

    • 7. 007

    • 8. 008

    • 9. 009

    • 10. 010

    • 11. 011

    • 12. 012

    • 13. 013

    • 14. 014

    • 15. 015

    • 16. 016

    • 17. 017

    • 18. 018

    • 19. 019

    • 20. 020

    • 21. 021

    • 22. 022

    • 23. 023

    • 24. 024

    • 25. 025

    • 26. 026

    • 27. 027

    • 28. 028

    • 29. 029

    • 30. 030

    • 31. 031

    • 32. 032

    • 33. 033

    • 34. 034

    • 35. 035

    • 36. 036

    • 37. 037

    • 38. 038

    • 39. 039

    • 40. 040

    • 41. 041

    • 42. 042

    • 43. 043

    • 44. 044

    • 45. 046

    • 46. 047

    • 47. 048

    • 48. 049

    • 49. 050

    • 50. 051

    • 51. 052

    • 52. 053

    • 53. 054

    • 54. 055

    • 55. 056

    • 56. 057

    • 57. 058

    • 58. 059

    • 59. 060

    • 60. 061

    • 61. 062

    • 62. 063

    • 63. 064

    • 64. 065

    • 65. 066

    • 66. 067

    • 67. 068

    • 68. 069

    • 69. 070

    • 70. 072

    • 71. 073

    • 72. 074

    • 73. 075

    • 74. 076

    • 75. 077

    • 76. Thankyou

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

Robotic Process Automation is growing exponentially and there is no doubt about that. More and more companies are realizing the competitive advantages that Robotic Process Automation provides. But as the further the field of Robotic Process Automation advances, the more complex it become to build quality and robust Robotic Process Automation solutions and that's why I created this course.

Whether you are an experienced developer in an object-oriented programming language, Blue Prism, Automation Anywhere or just beginning your RPA programming career, this course was designed a professional software developer to share first-hand experiences to guide you through your career as a RPA developer.


In this Uipath course, I walk you step-by-step the basics of UiPath, the essentials of Robotic Process Automation life cycle, and how to build scalable bots using Robotic Process Automation best practices ¬†‚ÄĒ useful skills for anyone in the Robotic Process Automation space or anyone who wants to contribute to serious UiPath development.


With every tutorial you will develop new skills and improve your understanding of this challenging yet lucrative field of software development.


This course is structured the following way:

  1. In Section 2 we'll start by explaining what is RPA, the benefits of RPA as a developer and the future of RPA.

  2. In Section 3 you will learn the Uipath Basics and I will take you through the most common activities that you will encounter on an RPA project

  3. In Section 4 we will go a bit further and look at Excel and datatables activities.

  4. In Section 5 we will setup outlook and then see how Email automation works in UiPath.

  5. In section 6 we will discuss the Robotic Process Automation Life cycle and how to decide if a process is a good fit for automation. We will then look at the roles and responsibilities for key members within an RPA project.

  6. And finally in Section 7

    1. We will discuss automation best practices and discuss in detail the Uipath ReFramework Template. I will also share some industry tips and lessons learned.

    2. You will learn how to provision Uipath Robot with Orchestrator

    3. We will put all of this knowledge together and create an end to end Enterprise Bot. We will take this step by step from the initial Process selection phase through Hyper care.


Why Hands on RPA with UiPath?

Here are five reasons we think Uipath - Hands on Enterprise Robotic Process Automation really is different, and stands out from the crowd of other training programs out there:


The first and most important thing we focused on is giving the course a robust structure. Robotic Process Automation is very broad and complex and to navigate this maze you need a clear and global vision of it.

That's why we grouped the tutorials into sections, representing the basic automation activities, the advanced automation activities, Robotic Process Automation and automation best practices and the and end to end step by step final project. We found that this is the best structure for mastering Robotic Process Automation with Uipath.


2. Theory and application 

So many courses and books just give you the basic of RPA but no real hands on actives and they forget to explain, perhaps, the most important part: why you are doing what you are doing. And that's how this course is so different. We focus on developing an intuitive *feel* for the concepts behind building Robotic Process Automation bots with Uipath.



Are you tired of courses based on over-used, outdated data sets? Yes? Well then you're in for a treat.

Inside this class we will work on Real-World solutions, to solve Real-World business problems. In this course you will see what it is like to work on a real world enterprise bot. Documentation and templates will also be provided



 In Hands on RPA with UiPath we code together with you. In addition, we will purposefully structure the code in such a way so that you can download it and apply it in your own projects. 


Have you ever taken a course or read a book where you have questions but cannot reach the author?

Well, this course is different. We are fully committed to making this the most disruptive and powerful Uipath - Hands on Enterprise Robotic Process Automation course on the planet. With that comes a responsibility to constantly be there when you need our help.

In fact, since we physically also need to eat and sleep we have put together a team of professional Robotic Process Automation developers to help us out. Whenever you ask a question you will get a response from us within 48 hours maximum.

No matter how complex your query, we will be there. The bottom line is we want you to succeed.

Meet Your Teacher

Teacher Profile Image

Michael Tyiska

RPA Architect


Hi my name is Michael Tyiska and I'm a RPA Architect. I've had the privilege to work on many RPA projects during my tenure at both Deloitte and Genpact. I have a passion for software development particularly RPA, machine learning and Intelligent automation. I'm here to help you on your software development journey so please feel free to reach out to me if you have any questions.

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. 001: machine learning A are intelligent automation and robotic process. Automation are trending technologies that are redefining the software and i t industry as we know it. In fact, robotic process automation, also known as R p A, is becoming a crucial skill necessary for any software developer. More more companies are quickly realizing the advantage that R P A provides and those who have already start developing these r P A skills would be first in line for better in higher paying careers. Hi, my name is Michael Tasca, and welcome to this hands on r P A. With you. Our path. This course is designed to take you from absolute r p, a beginner all the way through expert In the shortest time possible, I will walk you through step by step, the foundations of ur pattern, the centers of R P. A life cycle and how to build scalable bots using RP a best practice useful skill necessary for anyone in the R. P. A Space Section one will start by explaining what is R p. A. And the benefits of R P. A. As a developer in Section two, you will learn ur pad basics and I'll show you some of the most common activities that you will encounter on any R P. A project in Section three will go a little bit further and we'll discuss in detail, Exhale and data tables. Section four will set up our outlook email and we'll see how email automation works in ur pad in Section five will discuss the R P a life cycle, and you will see how to decide if a process it's fit for automation. Well, then, look at the rose and responsibilities for key members on R P. A project in Section six will discuss automation of best practices, and we'll look at the U A path reframe work template. I will also discuss what you industry tips and lessons learned in Section seven. You will see how to provision your you are pad the robot would orchestrator and finally in Section eight will put all of this knowledge together and we'll create our first into end enterprise robot. If all of this sounds interesting to you and you care anything for your career potentials, I urge you to sign up for this course today. Click the button below to take this course and start learning one of the industry leading R P A tools hope to see you in the course 2. 002: So what is our p A R p? A. Stands for robotic process automation and refers to software robots that transacting any application or website, Typically in the same way a human would toe automate, complex and rule based work. This results and more were again done faster with your errors and less overall expense at his core. R p a automates business process by eliminating human interaction with eternal applications . Here are some of the most used features that many R P A. Tools provide Web automation. For example. This feature allows you to automate welp interactions by identifying Web elements and accurately manipulating them. Gooey automation. This is the process of simulating mouse and keyboard actions on windows and controls. Screen scraping. This is the process of extracting data from websites and Windows 32 APS. Microsoft Automation Hotter made Microsoft Office applications may be the most used future within any R P, a tool Citrix or surface automation. Many projects you will be asked to automate processes via a virtual machine. In this situation, surface automation or Citrus automation is used because you cannot access to elements that make up the user interface, and that summarizes R P A. Thanks for watching 3. 003: in the last few years, R P a. Has been increasingly gaining global interest due to his capability and ease of implementation. Research has found that global markets for R P a technology, is expected to be valued at eight billion by 2024 with the variant advantages of adopting R P A. In other intelligent automation institutions are now looking at R P. A. Is their main business to to drive down costs. Here are the top 11 benefits that r P a brings Number one R p a. Can create cost savings of approximately 35 to 65% when the body replaces business processes usually performed by an F T number. Two r p a. Creates rapid return on investment toe average R P. A. Implementation time is typically three months in the time for our oi is between six and nine months. Number three R P A. Helps free up staff to complete other higher value task. Automate and repetitive and time consuming process is free up your staff to make more value added contributions. Number four r P a. Creates a better customer experience. R P A. Can improve service quality by reaching an accuracy rate of 100%. Number five r p a. Helps reduce paper use r p a. Forces digitalization as it requires companies to have data and files being manipulated by software robots in a digital form. Number six R p a. Improves governance and compliance as it forces companies to define clear governance structures around i t. Applications by forcing organisations to agree a bone who owns each application. This typically leads to clear definitions of access rights for each application. Number seven processes and data security becomes stronger where r p A and enhanced disaster recovery options provide remote server control over robots. Number eight R p a. Is a nun invasive technology as it does not require any major i tr constructor change or deep integration with the underlying systems. Number nine. Increased scalability and flexibility r p A. Provide stability to easily skill upper down your operations as needed and ensure that companies can make adjustment based on seasonality. Number 10 Holly Security Managing I t Security for r P. A. Robots is very simple as they do not change Rose leave the company retire or hacker data number 11 Improved capacity for s L. A analysis R P A Solutions Allow management to know the progress of S. L. A's in real time. All the activities performed by robots can be logged and interpreted through customized reporting to and visual dashboards, and that summarizes the benefits of R P A C you next video. 4. 004: in this video, we're going to start by downloading and installing ur pet. First thing we're gonna do is navigate to Europe. Have dot com. If we look on the developer tab, we'll see you are pair community. In addition, so we're gonna double click this. Click it. And if we click this button here, get community addition is gonna bring us to a page where we fill out our information. And then once we feel this information out, we're going to get a email where we can download the UUP have installation, execute herbal foul. I already have it downloaded. So I'm just going to navigate over to my folder. My down those and I'm I double click on it and run it. And this will install you are Pat. Once we have you op ed, studio installed will be prompted with this message to either start free or activator license. If you've purchased a licence, go ahead and activate their license. What I'm gonna do is continue to start for free and just put in the email address that you used to download Close this window out. And so now we have Are you up? Have studio and star that wraps it up for this video. Hope to see you in the next video. Thanks 5. 005: in this video, we're going to install additional activities. If you recall, We left off last video at this screen here. And if we click this button right here, that would take us to you. I passed studio, and then if we navigate here where it says manage packages, this will take us to where we can install additional activities. So by default, you iPad comes with the core activities, which is not a lot. And so you would most likely have to come here and just so right here were installed. But if we go to available and then if we search but I like to do is if you just type in ur path, give us all of the different activities that we can install for you. Your iPad. So we just wanna get this cognitive, which we probably won't use to Probably later. Um, we want to get the credentials. The database excel. Excel is pretty big, So take a while and take a few minutes a few seconds. Way won't need to f ftp won't need intelligent OCR. We'll need the mail. And if you want to, you can install these. But I'm not gonna do it. I don't plan on using it. Well, in start a pdf Piketon, Um, I don't think we're using for this video tutorial for this Siri's. Maybe in another Siri's, um, word. And we we likely won't do any wrist or so pegged activity. So the only thing we need from this screen is word, and that's pretty much it. So that will wrap us up for this video. Hope to see you in the next video. Thanks. 6. 006: in this video we're going to briefly discuss how you are Path works to demonstrate. I will create a simple hello world automation just to get you familiar with how you are. Pat actually works. The first thing when you do is open up. Ur half studio was this open? We will be prompted with a message to continue with free or activator license. If you have a license, please go ahead and activate it. I'm going to continue with free now we have a choice. We can create a a blank template or we can use a template or we can use a recent I'm going to create a blame and I'll call this hello world by default of you are Pap saves our projects inside of documents in yours will be you are pad I created a new photo and so mine was stored in ur path course is given a name and click create Once this open, we will see our workstation in different panels in the next tutorial Argo with detail what the different panels do for now, let's create a flow chart. So come here and type flow chart drag it over and this is our flow trial where we can add different activities to build our You are path baht. The next thing we need to do is added input. So tight input. Drag it over. Now we need to connect these two just drag down here and we have it. You can either fill this out by coming here and intern in the information or double clicking. If we double click, we enter a title which we're gonna call Hello world and the label which is enter your name . And if we see it, it's right here. This label here in the title here and then the output. This is where we need to create a variable to store whatever the user Inter sent. So if we come here, we can control, OK, now the bring this up. If you can't do that, just come here and create a variable. It's the same thing. So right here we can give it a name. So output text and then here If you created it from here, just come here and typing output text and you can hide that and go back to Maine in search for a message box. If you just type box you pull up and drag it over and connect these two now inside of the message box, we want to display whatever they entered. So double click and remember Texas output text. So take that in. Enter. Now this is our but let's run it to see Hello worlds. The title are labels into your name. Click. Ok, Well, uh, Michael Tasca. Pretty neat, huh? That's it for this tutorial. Hope to see you in the next video. Thanks. 7. 007: in this video we're gonna discuss to use the interface in the different panels that you are path provide. If you remember from last time, this was the main panel, which is where we used and create out of our code. All of these paddles have options to float him. We can dock, come back and we can auto hot. This next panel is our ribbon by default in loads as design and here we can create new sequences, flow charts or state machines. We can save our current project. We can run it and we can utilize your iPad different functionalities such as web recorder, screen scrape data scraped, create and manage our variables and lush you. I explore. This first half is a star, Pat Tab. And if you remember, this is what we created. Our blank project. We can open up a template, but we can you reuse previous projects. We can also go here for help. This third tab is the execute tap and this is primarily for debug in your coat. You can add a break point. You can remove the break point. I'm sorry. You can step into the coat and you can run in debug mode. This fourth tab is a set up tab and this is where we would execute or create our publish package. If we click on that would give us the package. Name the package version. And this is what we were used to connect the orchestrator. We also can utilize different extensions such as chrome and Firefox. My default you are pad utilize in an explorer here in this toe panel This is where we have all of our activities. And if you're a car from last video, we can search for any activity that we have. We can add new extensions and activities by clicking here and going to x tall. We can search for some we can look for search for some we can look for updates are all this ? Here is where we use where we get reusable projects such as the calculator and whatever else reusable components that you create. This project is where our current project this And if you remember, we named it Hello world And by default. The first Zamel is main. Over here is our properties panel where different functionalities have different properties . So if we wanna use a click and drag a click over here, this click would have different panels, a different properties, then the check box than a message box down below. Here is our outline. This is the overall hierarchy of our project. So if you remember, we have the main. This is a flow chart, then our input message boxing and click that we just created. We have our variables arguments, and here yours may be already docked, but I always click it as I don't hide just so I can have more real estate. So this is our output. And this is where you were used for logging and debugging in writing to tow line. So here, or if we use a log, we have airlocks warnings, information and trace, and in a later video will go in more detail about these different logging. And that's pretty much it for this video. Hope to see you in the next video. Thanks 8. 008: in this video, we're going to discuss sequences. A sequence suggest a part of you are pad that allows you to create linear processes. One of the key futures to sequence is that it can be reused time and time again as a standalone automation or is part of a state machine or flow chart. If you were called in the last video, we created a process with a flow chart and we dragged inside a input as well as a message box. We could easily put all of this code with dinner sequence. And so now what we're gonna do is we're gonna come up here and click new in sequence and by default again you are path will save this sequence that we're about to create in your documents folder and whatever folder inside of documents that you specify. So we're gonna call it sequence wine, and now we have a new sequence created that we can always recall it time and time again, again as a standalone automation or within our flow chart or a state machine. So now what we're gonna do is the same thing that we did it last time. We're going to search for input Dragon inside of the sequence. Give it a title sequence, swollen, whatever you wanna call it and we're going to say Inter favorite football team They were gonna provide an output control. OK, Faith team. And then now we're going to search again for the message box just by typing box if you want it. Faith Team. And so now we can run this without having to have to start in connected from the start and just run it from here. And let's give it a truck. That's it for this tutorial. Thanks for watching Hope to see you in the next video. 9. 009: in this video we're going to discuss flow charts were going to be creating a guessing game toe. Allow user to guess between a number one and five. If you noticed I've cleared my workspace. If you want to do the same, come to clear to start and create a new blank project, then you'll get something like this. So now we want to click new flow chart and let's give our flow Charter name flow chart demo , Enter. Now, once you have this click here in his great area so turned on launch And now we can create our variables that are within the scope of this flow chart. We're gonna create three variables. The first bearable is going to be in random number. A variable type integer next will be in Guess number very well. Type integer as well. The last one will be string message and we will give our string message a default value of guess a number from 1 to 5. Click here to close it out. Now what we want to do is drag over in a sign and connected What this a sign allows us to do was to create a new random number. So inside of this, too played control space. And that'll bring us up a list of our variables down arrow to random number, click, enter. And in this part, we're gonna enter type new Randall trying to see open and clothes for NC's dot Next, If you want to just go down here next open currencies line. Come on. Five clothes for NC's just so that you can see this. This is what is it? What is this? New random Next? Going to five. Now, what we want to do is search for an input to allow the user to type. Guess number. So for our input for the label, we want to do control space and select our string message and for our output going to control space and select our guest number. Now we want a search for a decision flow a flow decision. Drag it over. And what this allows us to do is give it a condition. A true or false. So for our condition, we're going to say if control space down, guest number equals control, space, random number. And if that's correct, they want to search for box message bucks. True. We want to give him a message. Congratulations, Exclamation point. You guessed? Correct, period. The number Waas space plus So we can can cabinet the value. And if you just come here so you will see what I'm doing. Plus control space, Random number. And if you remember, our number is an integer. So we need to cast this to a string. So at the end of number dot to stream. So it's gonna cast that number to a stream. If you have something like this, just go back to float your demo. And then now we want do another decision. So we copy this. Paste it, drag it over. And from here, we want to go to the top of this and we want to look for another a sign. We want it change this condition. So now if our guest number is larger than our random number didn't want to give a message. So true. That means the guest number is larger. So we want to assigned to our stream string message A message too big. Please try again and then we can copy this. Well, first, let's bring this back because we're gonna have them try again. Copy this paste it and we want to go ahead now and bring it back to this. And this will be for are false again. Our condition is if the guest number is greater than the random number, then this is too big. If the guest number is if it's falls. And I mean the guest number is smaller than the random number, so we wanted to change. This is to too small. Please try again and they come back here and give it another try. So let's give this a run. Gets a number from 1 to 5. Let's say to number two small. Try again. So let's say three number two Smalls, Let's try again. Four. Correct. Congratulations. You guess? Correct. The number was for and that's it. So this will wrap this up for this video. Thanks for watching and hope to see you in the next video. Thanks 10. 010: and this video we're going to discuss State Machine. A state machine is a type of automation. There uses a finite number of states within execution. You can go into one state when triggered by one activity and then jump into another state when triggered by another activity. Another important aspect of state machines are the transitions. These allow us to jump from one state to another, and they're represented by arrows or branches between the different states. There are two activities that are specify within a state machine, namely the state and then the final state, the states where you create most of your different activities, and then the final state is run at the end of the code. So let's get started again if you notice we have a blank workspace, so go to start again and then create a new blank workspace or just clear whatever you have . And then we can do a state by typing state, and then we can find a state machine here, which is just a flow chart of the state machines. And then we have our different states to final in the richest a readiness state, or we can come here and create a state machine. Both would do the same. So let me just show you. So if you dragged us over this will create a state machine flow chart within our main. And if we create this to do the same thing, but give us a name that we can specify. So let's call it state machine Demo. Let me clear this belief. Once we have this, what we're gonna do is search for state and you would notice that we have our state and then our follow state. So let's drag our state over, and it would in another state, they will need our final state. Let's connect these. So the first state is we're going to do, we're going to initialize and create our random number. So let's search for a sign. It's right here. We're going to say, create our variables. So go back to this. Highlight it and create a variable it random number of type integer it. Guess number of type, interject and then strain message of type string inside of here. We're gonna type, I guess a number from one too far. Close this. So go here. Control space, Random number new random parentheses dot Next open parentheses. One comma five closed for a disease. Come back here in our first transition. This is gonna go to the next one. We don't have to have a condition. So what this would do is if we have a condition to make it come from here by default. We just wanted once we initialized that random number. Want to come to the second state now inside of here. This is where we're gonna search for our input in our label will be strained. Message output would be control space. Guess number. Come back to this Now. We would need to transitions the 1st 1 if the number is too big. So once we just dragged us back to itself. Double click on this transition and we can say, Let's give it a name. So given name here. So this would be too big and then to see control. So inside of this condition, say control if the guests is greater than the random number. And if so, we need to I do another sign and say string message. Too big. Please try again. Okay. Right to this. Let's do another one double click. Too small it. Guest is less than random. A son String message two. Smaller, please try again En El Faro state would be if it's correct and so just double click on this and I will say Control equals random will give a message box box. Can graduations? You guessed. Correct the number. Waas that too straight. We can give this a name courageous. Nothing fancy here. Now what this would do is initialized a random number. Come here and let them guess. And if they I mean every time they get it wrong, they keep coming back to so so if it's too big to come back if it's too so long to come back. But if it's just right, they go to this final state. Let's give this a try. Number form. I went to five. Let's say to number two smaller three. Congratulations. Number was three, All right. And that's how state machines work. Thanks for watching the tutorial. Hope to see you in the next video 11. 011: in this video, we're going to discuss variables and how to manage them. We can create variables three different way. First way is to create coming to the ribbon and click create a variable, and we have different options we can choose from. The second way is if we have a sequence, a flow chart or state machine in our workspace. We will get this option here to create a variable. So let's just give it viable one string type, and this is give it a default value. And the third way is, let's say we have an activity which uses a variable. We can come to this properties panel played control K and we'll see set name. And let's say this variable would be for two very well, too. And an automatic populates down here at the bottom panel and by default, it's available type generic value. Now that's a sign, and then this right this to the line. Run it if we go to the output, would just simply get what the variables are. If we want to remove these variables, we just right click on click daily if we want more variable types than the basic that comes by default default Boolean integer String object Generic value in a ray We can go here to browser type, so let's say we're gonna browser for data table. We'll learn more about data tables in a later video. If we see data table right here, we just click. OK? And so now this is a type data table. No. One thing that you will find very handing this changes back to a stream is promoting variables to global scope. So, for example, let's say let's change this name here to parent. This is a parent school and they say we have a child. School is college child. And let's say we have this variable call Copy and paste is inside of here. We have a variable call. Variable one equals Michael. And then let's say we have variable wine and we say it's now we changing it to last name. In addition, in addition to this variable within this sequence, we have Well, let's create another variable, uh called favorite color. Favor. Color click Enter. Let's give it a value off blue. No, if we want to. So, in this child parent was chow sequence. We have variable one and faith color If we want to out right out to line Var win. What do you think it would be? That's right, Tyus ca Because we changed it in here. Now, if we want to, I'll put favorite color. What do you think happened? We don't have it. We don't have access to this challenge, Variable because the scope is child. And if we see the scope is chow for for for favor color. Now, when we're creating our program are But we have different sequences and we wanna try to access some of those variables. And we may not be able to figure out which sequences in. So what you can do is come here and crea click promote to global scope. And now we have it in the parent. So now we can come here and find favor color, and now we have blue. Got it. Now that pretty much wraps up two variables. Um, thanks for watching this video. Hope to see you in the next one 12. 012: in this video, we're going to discuss text variables. In previous videos we touched a bone takes variables, and in this video I just want to show you some different string manipulations that we can do with text or string variables. First thing we want to do was drag a sequence over. And as we did in previous videos, let's search for an input dragon over and for the label. Let's type type your full name, please. And if you want to give it a title, what is your name? Now let's drag over in a sign Well, as give this an output and this output will be called Control K First letter. Enter. Now, let's say control space First letter and what we want to do is display just a sub text of this first letter, so we'll use whatever we have here. Do a substrate going and assign it back to the original variable. So let's say sub string. So string first letter dot sub stream, open parentheses and what it takes. If you see this right here, it gives us the starting index. So what is the starting index that we want to do? A substrate gun we can do it in the beginning and anywhere, all the way to the end of this text. So let's just give a zero, which is the starting comma and then now the length of the integer. So let's say we want to give this to first only one link. No, this me just kind of clarify. So what this is doing is gonna take whatever value we give it, and it's going to do. A sub string on is going to start at the very beginning of their variable and just take one character and we can specify 234 Or we can also say string first in the entire length of the string if we wanted to take the whole string. But it wouldn't make any sense to do a sub string if you want to do that. So, no, let's right to line destroying first letter and run it. So let's say Michael Thai Esca and go to output in USC gives us the Now That's just one of the many string manipulations you can do. There's so many different string manipulation that you can do, and as we get later Internet, of course, you will see some of the different kind of string manipulation that we're going to do. We're going to split it, uh, gonna do sub strings and some different different things. But as we go through, I will put him out to you. And I were make sure that you see most of the common things that you will find on any R p. A project that you would be our. So thanks for watching this video. Hope to see you in the next one. 13. 013: in this video, we're going to discuss true or false variables, also known as Boolean. We're going to create a process that actually user for their name as as well as their gender, and the body would use the bullion value to determine whether or not they are male. Let's get started. The first thing we want to do is create a flow chart and let's give this flow charter name true or false. Variable click. Enter now let's how like this and at our variables first ever would be string name. Str name. The next one will be as to your gender and the third will be bull mail of type Boolean and we want to give this initial value of false this type false and we want to search for input and direct over two inputs. Connect. The 1st 1 is give it a name of name struggle where another one connected gender Give this a label. Please enter your name and the output will be string name. This label will be Please enter your gender output would be string gender. Let's search for a decision. What we want to do is check to see if the bull in the string. Gender equals male capital and we can say or copy that male with all lower case. Now let's search for in a sign, drag over two of them and connect them. Now, if our input is a male, then we want to say bull male equals true And if not, then more male because false and let's search for another and decision. Or you could just copy this one and let's make some more space. So just click her to write and dragged down. Don't connect this to the decision and for our condition. Let's just say bul vow bore males and by default, if you just inter just a Boolean, it will say if this equals true So this is the same day. But if you just if you want to try to see if it equals truth and you can just leave it blank if you want to see if it's false than you would have to specify, equals false now. If it is, then we want to do a message box search for box drag over to of, um, let's connect them now for this 1st 1 you want to say true and then you can cut it with string. Name is a mill. And for the false, we want to say false string. Name is not a male exclamation. Let's give us a quick run. True, Michael. Task is a male and I should have put space in there. Let's try for the false issues. Um, wife Name Sandra Esca. See there False. Cassandra Tasker is not a male, and it works. So that is how boonie and values work. I hope this tutorial was fairly simple and easy to understand. Thanks for watching and hope to see you next video. 14. 014: in this video, we're going to discuss numbers or integers. Number variables are also now known as integer or in 32 they're used to store numeric information that could be used to perform equations. Comparison passed important information and many other things. And this example. We're going to create a simple example that adds two numbers together. So let's clear this. Create a new that say flow chart and call it numbers. Then the first thing we want to do is grab our input. We want to grab two of him, since we'll be grabbing two different numbers. So let's connect them. And how light this atop and its creator of variables. We have numb one, which is of type in 32. I have known to type in 32 and then we have some of type in 32. Now we want to do is at our label and give it are numb. One variable. Let's change the names. Give this label off. Inter number two. It's a second number for this. This makes it first number. Yep. And then let's give it no to you wanna drag over in a sign and say some equals no boy. Close. No, I'm too. And now let's do a box and let's say number one dot to string and then say Plus to that to stream, he calls so 0.2 straight. Let's give this a quick run into the first number. Say, seven. I say 10. So now have seven. Plus 10 equals 17 and that's pretty much it for a number of variables. Thanks for watching Editorial. Hope to see you in the next video. 15. 015: in this video, we're going to discuss a ray variables. A ray variables are on a variable type, which allows you to store multiple values of the same type. For example, weaken store an array of stream, an array of introduced an array of objects on own and so forth to exemplify how we can work with a Ray verbals. We're going to create an automated task, which asked the user for the first name your last name in the age they were going to store this information inside of the array and then write that array to a text file. Let's get started. First thing we need to do is create a new flow chart, and let's call it a rave arable. Once that's created highlight it, click variables and let's create our variables String first name, strange last name strange H and then, uh, array first last age and this will be our array. So if we come here and click array will see array of T the T stands for type, so if you click on it, you will have to specify a tight. So let's choose string. No, we will grab our input. We will need three for this example. 1st 1 would be first name. You have another word. Last name, One more for age. Let's connect these And for our label will say inter first name output would be string first name This one would be labeled into her last name. Output would be string. Last name Labour would be enter age. I put the b string age. Now we need to grab and a sign What we're gonna do is a sign these variables to our array. So control space a ray and then inside of here is value of to the right. It's double click on the three dots open curly bore Close, weaken, open curly bar And we can select our first variables. First name calmer last name If you see a dot here a period, Remove it, comma age removed a period. Let's connect this. So now we need to grab a right to lie so tight, right? And you'll see right to text. So I write to text and what we need to do here is specify um, photo off our name in a foul pat. So by default, if you just give it a fire name is going to store it in our working current work in folder when we create all of ours emos If you want to place in another path, just give the, ah, absolute pad. But for now, we're just gonna give it a name. It's Carless array first last age dot txt and then inside of here, where we're going to do with use our array and we're going to get the different positions. So the first and a ray goes by indexes in the first index of an array is zero. So we're going to say zero, which is our first name, plus out of space array index one plus the space Age, which is the second index. And then let's write this to Let's run this and see Might go. Can a spear do you? Uh, 35. Now, if we come here to our folder, we will see what we just created. Let's open it up and we'll see Michael tires Good. 35. Pretty neat, right? And that will conclude a raise. Thanks for watching this tutorial. Hope to see you in the next video 16. 016: in this video, we're going to discuss the date and time variables. The date and time variable is a type of variable that enables you to store information about any data time to exemplify how we will work with the date and time variable. We're going to create an automatic test that gets the user's data birth and subtracts it from today's date to give the uses a number of years. Let's get started. The first thing we need to do was create our flow chart. So come here. So like flow chart and Given name, Date and Tom variable bearable. Once we have the flow chart, let's click this and create our variables. First variable will be Tom today, and this will be a date in town variable. So if you don't see that your drop down which likely you won't come here to browser for tight and type system that date and you will see it here date in town, the next variable will be Tom. I'm sorry, D o B, which would be another date, and Tom so just select It should still be there. And the third of ever will be Tom Span, which is a Tom Span variable. So click the browser for tight and type system that Tom and you will see the time span. Now that we have our variables, we need to search for our input. So grab input and drag it over and connected Are labour will be inter d o B in our output will be deal be and we need to grab in a sign and we need to say time Today he goes Now it's just tight now and we need to grab another sign. And let's say Tom Span is equal to convert dot to date to date, Convert that to date or his date okay to date and town. And then we want to bring our Tom to date and this bring it over here so we can see it better. And then we will just attract this from convert that two day minus, uh, deal be. Now that we have that, we want to bring our message box. It's a type of box, and then our box will be Tom spain dot days divided by 3 65 Now water happen is let's put descendant parentheses so that we can convert this to a string that to string. Now, what was gonna happen is you and notice it will give us a number, but the number won't be entirely correct. So we're going to do something else. But let's test it first. 12 29 1982. So we to give us 35 in some some days. So to correct that, where we're going to do is come over here. We're gonna use the math, that floor function. So math, that floor. And now, if you type that in, it would be inside his parentheses. All of this stuff will be inside the map dot floor and were converted to a string. So now this will give us are correct date and again math dot floors. Just getting the lower number of whatever number we have. So if it's three, it was 35 point something. You just give us the 35 and that's what we want. So 12 29 1982 and just give us 2 30 35 And that is how the date and Tom work. Hope this video was helpful. Look forward to seeing you in the next video. Thanks for watching 17. 017: in this video, we're going to discuss data table variables that a table variables are a type of variable that stores big pieces of information. It X has a database or Simple Excel spreadsheet to exemplify how data table variables work . We're going to query from an Excel sheet one column and then display that information onto the screen. They're not that we're going to select only a specific row from the Excel Sheet from that column of data to show you some of the simple but yet effective manipulations that we can do on data table. Now, in this tutorial in this video, we won't go into that much detail about how data tables work. But in a later video, we're going to show you more information. We're gonna have a six and exclusively for Excel and in another section exclusively for data tables and in no section will go in detail how to actually use the data table. So let's get started. The first thing we need to do again is to create our flow chart. So come here, select flow chart. Let's give it a name that a table variable. Now we want to drag over a Well, let's create our variables first, The first will be Let's call it D T for data table, and we're going to go here and select the type data table. So type it data table and then you'll see it here in the next variable that we want to create is a string. Just call it String Data String DT and it just be a string. Okay, so now that we have that, let's go to and accept excel. This type excel should be a scope excel application scope. We're going to connect this now if we click here, this will allow us to select the Excel path, and I will provide you with the excel sheet that you could use or you can simply create your own. But what we would do is, once you get this foul, you will go to your work station and then just drag and drop this Excel database sheet in. And now if you come here, you can select it. All right, So now that you you have that this is the scope is just saying the excel which excel do you want to do? Your manipulation are so now that we have that. Let's go to a read sale. Well read range. Now, if we the Excel sheet if we open it up, we'll get the name of the sheet. So the name of the sheet is called orders. So just right click here. Go to rename. Copy that. Close it and put inside of here. And now let's get so this this right here is a sheet that we want in Wester Range. So we want to just say from G seven to G 37. So what this means is we will get all of the rows and columns g from G seven all the way to G 37 in here. You can select whether or not to use the headers. And what you want to do here is provide the output table and output table. Is this data table that we created? So just call DT, Right? So now that we have that, let's go to all were data table, so search for data table and we're gonna print this out. Okay, so now we have data data table. We have different function functionalities that we can use. What we want to do is go toe output data table. Connect this. Now with this needs is the data table, which we're going to get and then output string that we won't put it with it, too. So our data table name is D T. So select DT and in here, let's give it the string variable that we created and they now let's select a box message, connect that and print out our street and it's running. So this is our data table that we have in that column. So column G seven on the way to G 37 and it just extracting this information from G seven go down, we'll go up G seven, which is brought us in the Ron Sina Hoffman all the way down to G 37 and that's it. Should we close that? So now what we want to do is we also want to try to get a specific column, all right, and this is just something simple, but we'll go into more detail later. So before this message box, let's grab our sign. Okay, so let's put our string DT. And then the information that we want to select would be DT dot rose. And if you click dot you will see a bunch of different functions that you can use. So we're going to select the roads and we want to do Roatan and they want to say Field off . And what this is doing is saying what type of field it iss right. So column as stream. So we want to say off string. And then I want to say, zero to return that single record from routine. Right? And so this will a sign to our string, just one record and then we will print it out. Now let's see how it works. Pete, Chris, if we go to our eggs ill, we would notice something, so we would we we said Roatan. But it actually won't be Roatan and to be role 18. And the reason for this is because one we added the headers. So that's at it. One more roll to whatever we're using. And then we started at Row seven. So now we're actually adding 11 rose from row seven. So if we add this to be 123456789 10 11. So Roatan in this case is actually roll 11 because we added two headers Let's go back the headers whenever we did our exhale scope, so that's one more row at it. And then because we started in a row seven, it's 11 rose from Row seven, so I hope that wasn't too confusing. But that's pretty much how data tables work. I hope you gain a lot of knowledge from this video. Thanks for watching and hope to see in the next one. 18. 018: and this video, we're going to discuss generic variables. A generic variable is the data type where you can story any kind of data within and including text numbers. Dates a raise in a particular data that's within you are pan. If you recall in our previous videos, when you create available within the properties panel via control, K u R pad automatically labels this available as a generic variable. What makes generic variables interesting is because you are pad automatically converse them to other types in order to perform a certain action. However, it's important to use the type of variables carefully as their conversion may not always be what you think it will be To demonstrate this, let's get started. First thing we need to do again, it's create our flow chart. His collars generic variable. How like this and this create our variables. The first variable that we need to create. Let's call it in, and it would be a generic type, so we had to come here and search for it. It's a search for core and then you should see generic generic fed. Okay, The next one will be string so but it will also be a generic variable and you should already have it here and then results a result. Generic variable. Okay, so now let's just drag over and a sign and let's say result. It goes it plus strength. And while we had it, let's go back here and for our end. Let's give it a number. So 23 is our integer and let's say 22. So what do you think? What happened? If we add the's to, we get 45 let's see. So let's say box and it's running 45 now. Even though this is a string because we have a generic, it always converts the entire results toe whatever is first. So because this is an inter jur a number, then the outcome would be a number. But now, if we switch this around when we say plus it and run this, we'll get to 2 to 3 because this is a string. And so it converted this integer over to a stream. So those are some of the things you have toe. Be careful with when you're working with generic variables before we in this video. I just want to point out a few things about different types of variables. So let's create interject variable. Let's call it in. Hvar, if you notice if I try to name it the same things this to give me a warning. Senate. I've already created a variable dis name. So I guess Give it another name and call it in, huh? And 32 for And this Let's create a stream for and that this be a stream. Now, whenever we're using these variables, each type of variable has their own functions that you can do. So let's start with a string of our So if whenever you are using this variable, if you collect, this period does dot a period. There's a list of functions that you can do on strings, and you just need to go through and, like, play with, um, and and and see some of some of the different things you could do. You can get the index of So, um, you can find an index of this. So, like, for example, if you want to find 1/3 30 next to be 0123 b v, you can join it. You can get the length you can, you know, do a lot of different things. You can split. You can do a sub string. Um, you can make it to upper. You can trim to lower to list like there is a lot of different things you can do a string manipulation that you can do with string and the same for innit? Foreign introduced. So let's say we're using this Anvar and then we do this. We have our own type of things you can do with introduces. Well, you can change it to a stranger into type. You can make equals. You can compare it to something. Um and then let's do the last one. The generic type and it has its own type is well, you can also compare it. You can see if it contains a certain word equals. Get the type of delink you can replace some words you could do split sub strings. So basically the generic will kind of give us both the methods that we use on introduced as well as what we use on the strings and some others as well. So just go through this whatever a variable type, you have declared just kind of pushed the period and go through and play with some of these methods that they have mentors or functions. Okay, I hope you found this video helpful. Thanks for watching. Look forward to seeing you in the next one. 19. 019: and this video, we're going to discuss arguments and how to manage them. Arguments are used to pass data from one project to another. In a global sense. They resemble variables as they store data dynamically and allows you to pass it on. Whereas variables past data between activities. Arguments, on the other hand past data between autumn ations, thus allowing you to reuse code time and time again. Additional future of arguments is it allows you to specify whether you're passing the data in out or in and out to exemplify how to use arguments. Let's create a simple automation where we invoke one other sequence and past data to it. Let's get started. The first thing we want to do with drag our sequence here and then let's create a new sequence. Let's call it past arguments past arcs. Simple enough. And for here we want to create and in argument, and we would type it in arc. And what is going to do is accept anything that comes in and then lets his print that out to the screen. So we save a box in art, and it saved that. Let's go back over to the main and let's grab input. Get over. It's given a name into your favorite color in here. We're going to create our argument, has called it out. Argh! Changing toe out. So if you see, we have in, out, in, out in property. So for here, we're gonna just select out because we're gonna pass it out from remain to the past arcs sequence. Then the next thing we're gonna do, son it first out orig and then let's search for in hope type invoke and select the invoke workflow foul. And then let's click these three buttons and we're going to search for our past argument and then go to import and what that's going to do with import all of the arguments that we have in here so that we can connect him with arguments inside of domain. And we can pass it variables as well. In our main, we don't have to pass an argument. We can pass the arguments of arable and I'll show you that in a minute. For right now, we're going to say out and then let's run it. Favorite color green and green. And just to dim, demonstrate that you don't have to necessarily passing an argument. You can pass it a variable too. So let's create a variable. Call it Favor color. And what we'll do is I won't give it a come back here and then changed this from being out . Argh, too. Faith Color. Then now we will edit arguments. My name typed favor color. Now, if we run this, let's very cold. Blue, blue. So you will notice that again just to clarify that these are our arguments here. Anything that we're passing here is the arguments inside of our main. When we invoked this, we can on edit, we can pass anything arguments, we can pass an argument itself, or we can pass in a variable as we doing here. Now, let's say we we're here and we wanted to invoke another workflow. So let's create another work floor. All right? It's called this child. Argh! But what we do here is inside of here. We're gonna create this. We're going to say less first invoke, omitted, and then inside of here, we're gonna have our in and out, all right. Just to kind of demonstrate what it in and out would be so inside of here. Leads go to in a sign, and then let's create ah se change color. I'm going to specify in and out. Now what we're gonna do here is we're gonna pass that colors to here, and then we're gonna change it and pass it back out. Okay, So and change color will be purple, right? And now, whatever we come here would be that imported. I must save it. Sorry. And you would notice you have to save it for you to in order to see it. So let's go here and import that. So now we'll say, um, in arc. So whatever we get here, let's delete this. We're gonna pass it to here. And then now we're gonna pass that back to here, and then we could pass it back to Maine as well. Let's say that has them in and out as well. And then now, our main less search for a box. I didn't now our main B report creative variable. So we do have that terrible. What I'm doing is I'm kind of getting all over the place, but and what changes back to our argument, which is out arc. And then So now we're gonna pass this our out. Argh! And so now we're gonna print that out. Let's see what happens. So whatever we type here, we still should get purple back. So let's say read purple, type it again, bread and still get purple. So just to kind of explain that again, What? What happened? We grabbed our variable argument here, and then we passed it as it in and out to here. And then once we got to here, we passed it as a in and out to here. And once we got it here, we changed the color to purple and passed it back to here. And then because the Internet, we passed it back to the main. And so now, on main anything out there, this will have the new color that was changed. So right here, if we also put in a box here, we'll see our color is se out color about art. We'll see that before he gets to here, is gonna be read or whatever we type here. So let's say say black black is the first color. It goes in and get changed too purple. And that's how arguments work. Hope this video was helpful. Thanks for watching 20. 020: this video, we're going to discuss the recorder. The recorder is a feature within Europe have that allows you to record your manual activities. This allows you to save Tom when you create in different automation, and over time you will see that is very helpful. If we click here or recording, will notice that there are four different types of recordings. Basic Desktop Web and Citrix. The basic recorder generates four selectors for each activity, but no container now. No selectors and containers might not make a lot of sense to you right now, and we will discuss those in later videos. But a container it excess a container parent to an application that we're interacting with . Those it makes automation is faster because if there is a container for this application, then you are. PATH is able to identify which applications these selectors belong to, but because the basic does not have a container does not generate a container, it makes this automation a little bit slower, so this type of recording is usually suitable four single activities. The next one is the desktop recording. This type of recording is suitable for all desktop applications and multiple actions is faster because it does produce container, thus allows him to be faster. The third is whip recording, and this is designed for Web applications and browsers. It also generates a container, which makes it more faster. The fourth and final type of recording in Citrus and is used to record virtualized environments such as virtual machines. Citrix, Cisco in any other kind of remote desktop that concludes Our overview of the recorder hope this video was helpful. The next video. We'll go more in detail about the basic in the desktop recorder. Thanks for watching. 21. 021: Hello and welcome to another. You are path tutorial in this video, we're going to demonstrate the basic in the desktop recording. The first thing we need to do is open up our calculator, then come to our ribbon and select recording dropped down. Basic, and we have this open click record and then intern some numbers. Once we have that double click escape, then you'll see a message. Do you want to keep the recorded output? So, like, Yes, now we have our recorded output. In the previous video, we mentioned the container in the selectors. If we highlight this and come to target, you will see selector, so double click or click on three buttons and you will see these are our selectors in This first part is our individual container. But it's not a parent contain into this whole activity, and that's why this type of recording is a little bit slower. As you see in this next example, we will have this part as our parent container. Now what we want to do is, let's clear this, then go back to recording and select desktop. It's clear our calendar, a calculator. It's like record. Do the same thing that will click. It's great like Yes. Now we're noticed. We have this attached calculator and this right here this frame is our parents. And if you come to our selector, you remember that this was in our individual selected. But now we have it as I parent, which makes a little bit faster because we're saying at this this here selector is our container to all of our other selectors in this Would they do so on this calculator? Do these activities And this is what makes a little bit faster. And if we come to our individual activity, we'll see that there is only one selector. I hope this video was helpful. Thanks for watching. See you in the next tutorial. 22. 022: in this video, we're going to demonstrate how to enable the chrome or Firefox extension within you. A pen is very simple. So on top of our ribbon heretofore taps we're going to go to set up and then we see extension set up extensions. Click here and you can enable either Chrome or Firefox. What? I usually like to use chrome. That's my personal favorite. So I'm going to click here. Then it just give us this message. Restart chrome to complete installation. Click OK, we should get chrome. Yeah, so even if you didn't click it, it was should pop up on its own and dependent on your laptop and your Internet connections , you was most likely will be a lot faster than mine. So let me close this out. Smoothed out open. And this is the browser that opens up. Went what? You click chrome within you, our path. And as you see, I've already added it. But what you would do is just click here, click at to Crow just installed this extension, and then you'll have you are pad and then well, you will have chrome within your you are pad and that's that's pretty much. That's pretty much it. Now, once you are using your navigation, you will have to use let's so test of browser. Now, with Dan here you will come over here and you will select Chrome or Firefox. Or in next four, whichever one you want to do by default. It's Internet Explorer. So in my case I will select Crumb and then do my navigation. But we'll do this navigation in the next video for this video here. I just wanted to show you how to enable the chrome extension within. You are Pat. I hope this video was helpful. Thanks for watching. See you in the next video. 23. 023: in this video we're going to discuss. You are elements you are elements refer to the graphical user interface pieces, that construction application or a website. So in other words, when you go to a website and you have input box or a check box radio box, a button the browser window itself or if you're on a desktop application and you have different buns on that application, those make up the U elements and you are path to uses. You are elements to be able to automate different processes. All interactions with the you are can be split into input or output. This categorization helps you better understand which actions to use in different situations. So for inputs, we have things such as the clicks, the text typing, keyboard shortcuts, right clicks, mouse, hover, clipboard, actions, etcetera and for outputs. As we discussed before, we have the getting text finding elements on image clipboard, actions, etcetera. There are multiple activities that could be used to automate Absa Web ads, and you can find them all in the activities panel. In this video. What we're gonna do is discuss someone coming properties on all of the activities and in the next video, we're going to go one by one through the most coming activities that you would use on enterprise application. So what we need to do now is let's drag over any activity less drag over a click. And then if you pull this down so you can see the properties, we have continually error. This specifies if the automation should continue, even if the activity throws an error. So if you're doing some type of activity where you click, you clicking a button and it fails for some reason, this specifies whether or not you should continue to go or fail, and you will put a true or false here by default. Value in this field is false. As a result, if this field is blank in error strong, the execution of the project stops. If the value is set to true, the execution of the project continues regardless, if any errors occur, not the next field we have is delay after this as opposed after the activity. So if you want to do a click and then click here after each click, you can just add a specified delay and it will be in milliseconds and we have delay before it does the same things, but it just adds a delay before you click on it. The next one is Tom out. So if you come here, this specifies the amount of time to wait for a specify a specific element to be found. So, for example, this target is where we select what we input R selectors, and we have our selectors. And so, uh, right here we can have this wait for ready and so we can set it to none. And then we can enter in our own type of wait time that we wanna wait. So if we know on application usually takes one minute to bring back results, we can have set this as none. And then we can just select out whatever time we want. But by default to set as interactive, interactive, incomplete, it waits for all the elements on the tox screen to exist before actually executing. So it waits for this whole like a well paced load and all of the elements on that page to exist before it actually started executing that covers the coming properties of the input and output activities. I hope this video was helpful. In the next video, we're going to discuss the activities that are most likely used on R P. A project. Thanks for watching. See you in the next video. 24. 024: in this video, we're going to discuss the activities and the most common activities that you would use on a R P. A project. Now if you come to our activities panel and you should have similar activities that I have if you followed the video on installing the core activities as one of some additional activities. So let's go through these. The 1st 1 we have is you are automation and inside here we have things that relate to our you are elements, things that we used to in Iraq with certain Web applications or desktop applications. So the first thing we have is element and inside of element. We have our mouse in an inside of mouse. We have our click double, click and hover, and you'll use this a lot. The next thing we have is our keyboard, and we have sin hot key type into takes and types of critics. So what the sin hot key does If you're trying to copy text, Um, and you usually use control, see to copy or control Vita Pace. You would just send this in as control. So you click the control you can specify, see, and it a copy or V to paste, and you can use other things like control shift. Um, in whatever the kind of key that goes along with the control ship, the type of the type into is similar to the type secure. What this does is is it allow us to type into some kind of form or some kind of input box and weaken type whatever is takes that we want. And this would have to be either double quotes or if you have a variable that you have already created, and the type secure it takes is the same thing, but what this does? But he removed this first. This allows us to type things such as our passwords, and it secures that text so that you won't know what it iss. Um, as we continue on, we have control. And this here is like when you're want to select a check box going to activate a window, you want to get some text us on a string you want to select from a check box like or or drop down fields. So if you are going to someone's website and they have a menu and then there's a drop down . You use this to select whatever drop down option this year is similar to this, but it dropped its selects motor items. So if you go to a website that has a combo box where you can select motor options, this is what you would use. You set focus and then you said ticks. So usually best practice that I I usually like to follow is I usually set to focus to where I'm going to click. So if I'm appear at the top of some website and then I want to go here to the bottom before I just click on this always said to said to focus and what I found in my experience that allows two different things that give it Tom for the mouse to come here as well as it activates that element that we want to focus the focus on. And then we can do our set, text or click, or whatever it is that we're trying to do. The next section that we have is defined, and what I've known we like to do with the fine is use. The element exists, and this right here was enable you to verify if the U element exists, even if it's not visible. So what you would likely find on the application that you're dealing with when you're working for a client is when your search of force and results like, Let's say, for example, you're using one of their Web applications to search for an account number and some account numbers return information. Some don't because they've been closed for whatever reason. Now, if you use this element exists whenever you search for that account, you can use this to see if that element returned any results. And if it does, and you could do the next part of step, and if it doesn't, you just go into the next account. So the next section we would use is the text it takes. We have our mouth, and we have our click text. So if you want to specify within us a page, a certain text that you would like to click, you can use this and as well as if you remember in the mouse we have click DoubleClick and hover. We have the same thing for our click text. You can click. It takes double click. It takes hover, text the next thing we have is our screen scraping where you can extract structure data and in most projects on. We'll discuss this in the later tutorial. But before you as a developer, gets this automation to automate, you're either your architect or your project manager or your business analysts. One of those three would have already had a discussion with declined to make sure that this automation that we're using warehouse structure data before you actually get it, Um, the next thing we uses to get four text and get visible text. The difference between these two is this will get the four text even if it's not visible. So if you have something where you have to scroll down to the bottom and just as takes used to get, get full text. If you only want to get to text us on the screen, then get visible text. Um, way also have this text exists, similar to what we have would define the element exists. You can just search to see if some text exists. The next section that we have is our images. We have our mouse click image. DoubleClick hover. We have our find final image. If image exists similar to if element exists. Um, the next section we have here is a browser and our browser. You can open a browser. And what's that brought is open. You can attach to a browser you're you can attest for browser that already is open. Um, you close the tab, navigate back and forward. You can go home, navigate that regularly to a given your ill. Um, we have our window. We can attach to a window. So once we launch our application, we can attached to a window. Close that window, we can get the active window, hide it, maximize it, minimize it. The next section we have is orchestrator, and we'll discuss this in more detail in a later, later video video. But you have your alert your A p I where you can have your http requests you have your assets where you get your credentials. You can set different credentials. You can get a job started job of stop a job. You can manipulate your cue by adding or deleting information from a Q, and you have your process where you can set this up to check to see if the process was stopped by the control room. The next part we have is app integrations. We have excel in their funds functionalities and we If we recall in our previous video we use our read range we can save Ah workbook. We can write to a cell right to arrange we can execute Mac Rose. We have our excel scope within close a workbook and up in the range We have different tables where we can feel to a table get a table range and sort of column sort of table The leader column. If we go to see a zvi, we have a pin to see his v. Reid says V and right sees V. We have our pdf. We can read pdf ticks read. Pdf What? Ocr um we have our database where you can fucking open. You can connect to a database disconnect, execute a nun query executed query. So the difference between this and execute query is basically this would just return in anything. So if you do a select statement, this is that this right here is our update inserts and then deletes. And if you see this right here, this is our ends insert table. So we know we're inserting our records into the database table. Start transaction. The next thing we have is Ah, we're go down. One might are male eso we have smtp we have our pop three Our outlook I map, we have our exchange. Um the next one we have is our word where we can add an image and pin itics export to pdf retakes replace ticks and the basic function functionalities forward. The next thing that we have the next section is our system and this is where we do I found management. Um so I wear a document. We've already done word but Workbook we've already done some of that and then we can also copy of foul. We can create a directory creative followed elite. We can move. We can read a text file and write a text file. We have our clipboard where we can set our clip. Get either get information from the clipboard. We can copy that information underneath the application. This is where you start your desktop applications. You can open the application. You start a process. You can kill the process and close an application. You can get the process name the next thing. We have his power shell. So if you're familiar with power cell, you can invoke a power shell. We have our dialogue, and if you remember, before we use our message box and our input dollop under programming, we have our data table, and we briefly looked at data tables in a previous video. But you can add a column at a row. You can build your data table, clear it. You can do that for each. Um, you can remove columns. You could move a data row 100 are debug. This right here is where we add our law of messages we can add. We can coming out something or add a comment. We have our invoked coat, invoke work file and invoke lunch workflow. We have our control flow. This is just when you're using your four loops and we'll go four loops. And lately the video you can need to continue on in the loop or break out of the loop usual for your for each, and that's pretty much it. What you would use now again, you can you can use any of these activities as well as going to our packages and adding other activities, but on normal and most common applications, the activity that I just discussed or what you would know most likely use on an everyday basis. I hope this video was helpful. Thanks for watching. See you in the next video. 25. 025: in this video, we're going to demonstrate how to manipulate the selectors to make your application mawr dynamic. The first thing we need to do is navigate to a website. We're gonna use sec dot org's sorry sec dot gov and once we're on their home page, throw down and here we're gonna enter in less use apple a PP, a pee pee in your see apple here. So select this. This will pull up our apples foul ing's Let's go back over to you are pad. Let's drag over a sequence, then let's come here to are you are elements of your automation and come to elements in select Click. If you click here, then come here and let's select this first document here. Once we have that, let's come over here to our selectors and we're noticed that this is Table Road to now. Let's just do another one just so we can see if this is something that we can make was if this is something that's dynamic, so let's click here and let's go to this 3rd 1 We select this one, we'll see this table row four. So it seems as though this it's something that we can use this dynamic. Now let me explain when you're doing your automation. When you come into a website, the body doesn't have to. It doesn't need to be hard coded which road to check. You need to be able to make it dynamic toe. Always get whatever row it is that that you want to get. So let's say in our example, we want to build a select all of the rows each row and select each document and then go to it. So the way we can make that dynamic is if we see this this table role as a number and we know that this one is too. And this one is for then we know that the other one was probably three and in five and only own instant and so far so we can make this number dynamic. Now let's delete that one. Come here and create a variable. It's called it TD Road and let's change it to integer. Let's give it a default value of four. Just let's call for now, we come back to this, our selector. Now, there may be a different way to do this, but what I normally do is if you select all of this copy and paste and then delete it. Click. OK, then, If you come back here now, you'll get this selector and you can enter in an an expression. But now, if you type this in, you would have the first make because it's saying this is a string. So you wanna put a double quote here in a double? Quote here in a double quote here. Nos in the double quote here. So basically are Are you doing this? You're putting a W making both of these strings. And then since this whole Texas A string, you need to contaminate this first role in the second row. So you do that by putting a stream. And then now we want to make this our TD row. So inside of here we have a single quote, a two and a single quote. We're going to remove the two, and then we're gonna put a double quote plus plus double quote now inside of here. If we select control space, we'll see our TD role. Select that dot to string. Now we'll get the era. Go away now. Let's run this to see if it a click on the item that we want. If you see a click and let's go back it, open that up. Go back, we'll see. It opened up, I believe. Four for camera over and open up one of them and it went to that page. It was either this page of that page. I'm not really sure which one it went to, but I went to one whatever. And that is how you make well, that's one way you make your selector dynamic. Another way is less removed this and let's go back. So if you select, um, a selector and then you want to change it, just click here. It's a indicate on screen now, and another thing is, if you want toe pause while you go to what page? Just click F two and you'll see this 3 to 1 day I had the bottom. Let's do it again, have to, and now you have three seconds. And then now the selectors back. So what we want to do now is let's go back and select this 1st 1 again. Come back to our selector, and another thing that you can do is, let's say For example, this title changes is called instead of sand Eggers search results Is Egger some something else? We can put a star at the end to make it always like this star represents a wild card, and what this does is it makes the page dynamic. So this right here is called Egger Search results. Let's say if we come here is called Egger fouling. So we know that the static thing is Edgar. So when you're doing your selectors, what you want to do is always try to make him dynamic. And by doing this, we can just say removed everything except for Edgar and then star. And what the Star says, this Egger is static and anything else after that. So whether it's Edgar documents or Eggert search search results of Egger, whatever else I think this one here would be, you found that this wouldn't work because it's Egger. It doesn't have the Eggar and in front of it, but anything with Egger in front of work. So whether it's Edgar, search results of Edgar documents, uh, bigger off filing documents, and that is how you make it dynamic and another way you can make it dot dynamic is if you use this attached to browser and what this would do is it may not work on this particular website, but it makes everything dynamic for you. So you would click this which have to again come back to our website and select element that you want to be dynamic. You select. This is a selector was updated to match live elements. And what this means is this element is live meaning. If it changes for whatever reason, the title changes are the road changes, it will automatically be upd updated. So now, um, it just changed this. This here was the same. But now we can see this right here, and we can validate in the selector is valid. So now we know that this has been updated to be more dynamic. And one last thing I would just point point out to you is if you open this You are explorer , which is the same thing. If we click here, it may take a while for yours to come up. But what this does is it gives you do entire dung pretty much the entire Dom, and you can select their different elements that you would like or exclude different elements and so we can add just just kind of response to slow. So we can add this. We should be able to remove this. I'm not sure why we can remove it, and then we can add others. And so we can use different elements or selectors in here to be able to make this more specific to what we actually want. And then you would just normal Save this once you get whatever you want. But I'm gonna hit council because I like it the way it is. And as I was saying in the beginning, you can also uncheck whatever you are paying for provided to you by default Default. You can check it here as well. So if you don't want that check in and says, Oh, Mitt So we will omit the title. It will omit the application, which is chrome. You can even amid the now I'm stuck. I'm positive that this problem would probably not work, but these are some things that you can do whenever you're manipulating the selectors. Okay, I hope just the Torah was helpful. Thanks for watching Hope to see you next. Video 26. 026: in this video we're going to discuss takes recognition activities. These are useful and distracting text from you elements on the screen, as well as extracting coordinates and other U elements related to the text on the screen. Their situation, when you are elements cannot be identified through standard means and the text automation activity featured within you. Our path and that was you to identify buttons and check boxes and other U elements based on the text that these elements contain as we've seen in previous videos takes activities include DoubleClick, Tex. Click takes hover ticks. Find text position. Get four techs. Get visible texts, extract structure. Data in text exists. You get started. Let's drag over our sequence, drag over our right line. Are we here? And then let's come to our browser and we have our open browser. Let's open up chrome or, if you choose to use in an explorer, feel free to do so. Let's go toe sec dot gov. I'm here in type apple like this. You are ill. Minimize this and come back here and put that text with Dana Court. Double courts now click on here, come to our properties pattern and if you choose to use chrome Select chrome. Now drag this. Do this watch right light up to here and there. Let's go and grab our get ticks. So let's say get so let's grab our our full text click inside of here, which have to to bring your browser backup. We click here. Let's first grabbed this ticks Otar output Okay, and I've already have a name called Get Ticks, so I will use that name, but you like they won't have that name. Now let's write this to our line. If we scroll up to the top, we'll see what we just expect extracted. So if you didn't see it while you down here is because this use have to scroll up to the top. Now that's showing the get four text with less. Let's show why this is different from the get visible ticks. Now, if we select this again, click have to scroll down and then let's select some somewhere down here, too. But if we do the same thing, we will still get the same text, but not the same text. We will be able to find that ticks, which is this right here fouling securities information here. Now, if we swap this out with a get visible text and try the same thing, you scroll to the bottom so that we know where we are. Let's select this oneness is annual report section 13 13. Then our output would be get text ls wrongness. Yeah, we get a era because the Texas not visible and that's that's the difference between using the get visible text and get four text of four text with Bill to get anything, even if it's not on the screen. If it's not visible, I hope this tutorial was helpful. Thanks for watching Hope to see you the next one. 27. 027: in this video, we're going to discuss data scraping, which structured data. If you were called in the last video, we went to our SEC website and we got data using get four texts and get visible text. Now, what we're gonna do in this video is extract structure data. Now you can extract structure data from any website where, of course, the data structured and what structure mean is that is put in a structure that is compatible with you, our path or any other tool to be able to extract it in that same far meant that we can pace inside of a data table or excel or any other kind of data structure. So we're gonna do is copy this website and if you don't already have it open, just pace inside of here, removed the quotes and just go back to the website. Now let's get our you are pad and remove anything that you have inside of this. Do click this right here and just select next. We're going to select the field that we want to start. And we're noticed that once we select this, we'll get a window to say you selected a table cell, which would like to extract data from the whole table. Now every website would not be like like this in most times that you click. If you go to a website, what it would add I should do with select one element and then you have to select another one and then it'll find a pattern within that. But because this is within a table, it gives us the option to select it as a whole table. Now we will get this and if you come down here, you will see that it's saying the maximum number of records to get is 100. And if you want to get everything, just select zero for now is gonna leave it at 100. I don't want to get too much data, and we're gonna click finished. Now we'll get this and what this is sends that it identifies an element that will allow us to navigate. And if you want to be able to navigate selected element, you can read this rare. So So I'm gonna select. Yes, even though there's only 40 entries. If there was mawr, we have up to 100 so we could strike 60 more records if if that was the case, but I was going to select yes, anyways, then I'm gonna push to to give my window this grow down it almost like this next. Now we have our data straight, and we're just gonna drag this inside of here, But inside of our do, And if we come to our variables, we would notice that we have this duplicated because I did it motor once, we would notice that we have this data table that was created whenever we did our data structure. Now, what we want to do is come to our excel goto app, integration come to excel, get our excel scope. What we want to do is just give this a path. And again, if you remember from the last video, if we just give it a name is gonna put it in our current folder structure. So let's give this a name. SEC data, Uh, data that excel is execs Essex. And now we want to get our right range. And then we're going to right that data table that we have. And if we push control pace, we'll see that we don't see it in here. And that's because if you recall, there's a such thing as scope. So if we come back here, we'll see that our scope is only within here so we can select this managed variables in the movie to global. But I'm not gonna do that. I'm just going to make money doing manually and I'm going to select this. Do so What it is saying is that this is the school and I could have made it where this sequence is a scope. But I chose you just used to do as the scope. And so now if I come here control paste from the control space, I wouldn't lcr data table. And so now we want to at our at our headers, which I'm going to select that. Then let's run this case of now. If we go to our documents photo, we should see an excel with SEC data. Open that up. This is our data. This is our hitters and all of our records if and actually there were more than 40 records , so select selecting that next button did give us more records. We actually got 100 records that that we requested and that is how you use data scraping. I hope this the Torah was helpful. Thanks for watching. Look forward to seeing you in the next video. 28. 028: In this video, we're going to discuss screen scraping, which is similar to data scraping, but it's scraping unstructured data. If you recall what we left off last time, we used a data scraping feature in Europe. Have to scrape structure data in this video. We're going to use the screen scraping feature now to get started. We're going to navigate to our website just a sec, that girl, and we're going to scraped his first screen and come back over here and let's just change this to And now, instead of using this, we're going to just coming it out. So disabled. What I did was right click and go to disable, and then we're going to use this so have to to bring your screen a screen back up. Now what you want to do is if two again, let's find some data that we're going to scrape. Let's just say we're going to scrape this, going to scrape all of this text inside of here. Now what this is going to do is give us a result of what we just scraped and this unstructured meaning that there's no columns in rows Now, if we click, generate table. We can select our columns. So how do we want to separate our our columns? In our case, we're gonna use the spaces because there's no tabs and there's no noon new lines in the data spaces and therefore a new line separated. We are gonna use new line. You can hit the preview button if you want. I'm just gonna go ahead and click finish, and this is going to give us our new data table. We click. This will see that our data table was called generate data. Now, if we come here will notice that our scope is only within here. So we should just move this. Oh, in this movie to our sequence. The sequence is the entire sequence. Now that we have that, let's drag this up. Be underneath here. Then let's change this from extract data Table two, generate tape data table. And then we can write it to our same Excel foul that we had. Let's run this. Okay, so that has finished. Let's go to our project. Open up that foul. Call SEC data. We'll see that we have all of our different columns data and that is how screen stripping works. I hope this tutorial was helpful. Thanks for watching. See in the next video 29. 029: in the next few videos we're going to be discussing. An important aspect of you are pattern, which is the control flow. The control flow is a concept barred from computer science that refers to the order in which actions are performed within automation. Now, in certain versions of you op ed, you may find a control flow under workflow control flow, and you will see some activities in other versions. Off you are pat. You will find the control flow, but you won't find as many activities which they have been moved to system activities, statement and then here. So most of these here these activities here you may find them under the control flow and, if not don't worry, will still be able to access them to get started. Let's remove everything that we have created. Now let's create are variable and if we click here were noticed that we still have this variable. So let's delete that and let's make it an array. Sorry, an array of in 32. And let's call it no Marie. Okay, And let's feel this array for some blank variable. Some blank number with some numbers fine to you could put any numbers you won't in here. Seven. Okay, it's enough. No, let's drag our for each over. And the way this work is is going to go through our ray for each item that's in our way. We can do something. So let's call that a ray control space. No Marie. And let's search for our box. Let's say item dot to string and this will print our numbers out of the screen. That's right. And that is how before each works, I hope this video was helpful. Thanks for watching. Look forward to seeing you in the next video. 30. 030: in this video, we're going to discuss the wild. The while loop enables you to execute a specific process repeatedly while a specific condition is met. This type of activity can be useful to step through all elements of an array or particular activity. Multiple times you can increment counters to browser do array indices or step their A list of items to get started. Let's create our variable called counter, and it will be a integer Let's give it, ah, initial value of zero and let's grab our while loop and if you remember, are wild Loop will be inside of the activities statement and then just at the bottom. Now this is asking for our condition, and the way it works is if this condition is met, then this portion of the body will be executed. So we have our counter. Let's create one more variable. Call Max truck retry and let's give this to the desk. Let's give this inter Jer and say 10. So what this is gonna do is we're going to say as longest counter is less than Max. Try Max. Retry Now in the beginning, counter is zero, so it is less so this port will be executed. What we want to do is let's grab are a sign and we're going to say counter equals counter plus one. What this would do is every time this is executed, it would add one more to counter. So counter zero it add one, then 23456 all the way up to it's less than 10. So nine. And this is how the wild works. This grab our box. We can see it executes counter to string 57 Now, if you noticed it went all the way up to 10 and we assumed that it would not go to 10 because our counter is as long as it's less than Max retry, which is 10. And so it shouldn't have win. The reason why this happened is because we're printing out our number after we income in our counter. So let's look at this, we're saying is counter in less than Max retry and right now counter zero. Metarie tries 10 so it meets that condition. It comes in and then increments in tow one and then it prints it out. And then it comes again is one lesson 10 Yes, and committed to print to out all the way up to is nine. List in teen? Yes, increment counter to teen printed out. So if we want to see this work to proper way, we need to move Armitt our message box before our sign. And this is very important because in a lot of times you'll be doing programming. And if you fail to put your process, whatever you're tryingto increment on a process, if you fail to put that before the increment, you will run into a lot of problems where you think you have to change the code, and what actually needs to be done is just bringing this before the counter on the counter . Usually you will want that to be the last thing in your process, and again, that's depending on what you're trying to accomplish. But most times you would like to process whatever you're doing before you and increment to counter. So now it had come all the way up to is nine. Less than 10. Yes, print out nine increment to 10. Now it's 10. Lesson 10. No, and it would not print out. So let's get a try. So we start at a 012345678 No, no, no team. And that is how the wild works. I hope this video was helpful. Thanks for watching. See you next video. 31. 031: in this video, we're going to discuss the do while loop The difference between the dual loop and the while loop is that to do while they were, always execute the body at least one time, so it execute the body and then it checks the condition. Let's see how it works. Now we can go to our system and go to activities statement and search for do Wallace right here. We're just going to drag this inside of our sequence and we're just going to use the same information. So if you notice our condition are while loop are condition is here, and I do while the conditions at the very end. So let's just copy and cut this could and paste. And then let's drag our message box up to here and then, ah, we're a sign. Let's delete this. So it's the same code that we had before When? Now the body will always execute at least one time and then is gonna do our increment, and then it's gonna do check our condition to see if this condition is met. Now, if this condition is not met, it will exit. But again the body would be have already executed at least one time. Now we should get the same results. Let's check zero to see. And that is how the do while loop works. I hope this video was self four. Thanks for watching. Look forward to seeing the next story. 32. 032: in this video, we're going to discuss the if activity the If activity contains a statement in two conditions, the first condition is executed. If the statement is true while the second condition is executed. If the statement is false, the effectivity is almost identical to the flow decision that we used in earlier video. However, the only difference is the flow decision can only be used within a flow chart. And the decision could be used in a flow chart or a sequence. First thing we need to do is this clear are workspace. And let's find an if condition and let's find input and we're going to say please inter number in this number we can use this reuses counter has changed the name to No Well, none would have to be a string. - So what we're gonna do is change this Move it and we're gonna do is we're gonna into a number . And what if our number is greater than five? Then we'll do some message and if not, would do another message. So let's search for a message box bucks. You have a simple message. Number is greater than five. It's copied it and it's very simple. So let's give it a try. Enter, too. Three number is not greater than five struggling with town. Let's see. Foul number is not greater than five. And then this try number that's greater than five to number is greater than five. And that is how the if condition works of the video was helpful. Thanks for watching. Look forward to seeing the next tutorial. 33. 033: and this video, we're going to discuss the switch activity. The switch activity enables you to select one choice out of multiple, based on the value specified within the expression. The switch activity is similar to the if condition where it has some condition in whatever the outcome of their condition is, it will either go this expression or that expression, whereas in the switch statement you have multiple expressions that can be executed based on the condition. The first thing we want to do was search for our switch activity, and if you go to system statement, you will see the switch. Let's dragged it over and let's copy and cut our condition from our if and paste it in here . Now buy by default. Our argument type is an integer, but we want ours to be a Boolean. So let's switch it to bullion. And now we have our default activity in this. Cutler's dragged this over here, and then this Add one more case we can say false, and then let's drag this over here and now. So by default, what happens is if this condition, If this condition is not false, then the default value is true. So if it's not, if it's false, then it would display this message. If it's not false or any other thing, it would always default to be in this true message. Let's give this sorority say to number is not greater than five. This trouble more time would a number greater than five. Let's say six number is greater than five, and it works the same way as our if condition work now again, our argument type could be anything that we have from our drop down or are variable types we can have. In our case, we have bullying. If we wanted to do an integer, then we will have multiple cases where we have our default, and then we will have a new one. We give it case one, and then we can have a case to and then oh known and on two different scenarios that we would like to do. And that is how to switch activity works hope this video was helpful. Thanks for watching. Look forward to seeing the next tutorial 34. 034: in this video, we're going to discuss the break activity. The break activity enables you to stop a loop at a chosen point and then continue on with the next activity to demonstrate this. Let's create our automation. We're going to create Are variable called No, Marie. Okay, that's enough. And now we're going to grab our for loop and we can find that inside of our workflow control. And now we will say no Marais. So for each item that Sindhis normal Ray and let's grab a break, let's search for if then it's such for our box. Now, the way this is gonna work is we're going to say for each item in a ray, continue to look through. But if this number this item equals a certain number didn't stop. So again, we have our ray we're gonna loop through. And if this item sequence of numbers equals the number four, then break. So we'll see this message box. Print all of the numbers until it gets to four. Let's take a look. And once it reached four is stopped and it never printed out. And that is how the break activity works. I hope this video was helpful. Thanks for watching. Look forward to seeing an ex tutorial 35. 035: the Excel Activities package enables users to automate all aspects of Microsoft Excel. It includes things such as read information from a sale columns, rose range, rightto other worksheets or workbooks. Execute macros and even extract formless. You can also sort data at color code or PIN additional information now within Excel is split up into two different groups, one that is under the application integration. So we have excel here. We have the tables where you can delete columns, filter tables, get data range, sort, table up in range and many other excel activities. This is the application integration. All of these activities here require Excel application scope, which requires Excel to be actually installed on your machine, the eggs so activities that are under system found workbook. We have a pin range get table, read range, re column and several other activities. These activities here do not require Excel scope activity and do not require Excel to be actually installed on your computer. And that's a big difference. Whenever you're using these two different activities in the next few videos, we will go in detail each of these different activities. Thanks for watching. Look forward to seeing the next video 36. 036: in this video, we're going to discuss the application scope. The application scope, opens an Excel workbook and provides a scope, for example, activities. Let's come over here to our activities and drag our application scope for the next few videos will be using our database Excel that we use in the earlier video. So this is the excel that we will be using. So you want to in double quotes type the name of our excel Now over here and our properties . If this Excel has a password protection for entertainment, then you can provide that password here, and this is how the Excel scope works. 37. 037: Now let's drag over our read range, and this opened up the Excel database, and for this we would need to supply our sheet name. So our sheet name is called orders. If you right click rename can copy and paste this and if we leave this blanket to read the entire Excel sheet and that's what we want, well, we can say arrange. Let's just give it a range. Let's say a one. The room you Let's just say 11 a one through you in that And again, remember, we're adding our header so we do not want to add our our headers or no, we will add. I have our headers and let's give this a name. So control K picks ill now we would like to. For this example, let's get our for each is type, for there will be two of them that comes up. Let's use the data table for each row and the unless usar so. DT it didn't listen box out close. Okay, so let's print out our room se ra zero that to strain. And in a later section I will go more into details how to manipulate the data table before right now, we're gonna use Rosie, Ruin. What this means is the first column. Actually, I know says road, but it's the first column of each row. So if I do one, it would be the second color of each row. I want to just do the first room. This will print us out the row one through six. Sorry. One went through 10. Because our range when? One through 11 yet. So now let's do role warned. Just so you see. And it's apprentice out. I believe the order numbers. Yep. Order. I d. Okay, now sort of using the box going forward. I'm just gonna use the right line. It does the same thing this much faster. So now we have okay. And that is how you use the read range. 38. 038: Now, if you noticed the entire time we was working running this application, we had our Excel open. See? And nothing happened. We can run it, and this Excel will stay open. We'll still get our results. However, in the best practices you would normally before you start application closed down any instances of Internet Explorer or whatever browser you're using as well as any app application that you're using. So in our case, we would close down any instances of excel so that there will be no interruptions or any kindly rollers things. So for this toe happen, we will use our clothes workbook. And in order to make this work, we would need to come here in Give this a name will say close control. OK, Port book. Given any name, you want control. OK, close workbook. Okay. And now if we come here and drag our clothes workbook over and we use that name Control Space Workbook now free. Have this open and we run it. We'll see that that would also be closed. You see it closed it. And now I was able to steal Run this And that is how you used a close workbook 39. 039: in this video, we're going to demonstrate how to use to read and the right range, and we've used these activities in other videos. But I just want to demonstrate how they work together to be able to copy information from one Excel toe another. So let's remove this. And now we want to read a range in this Excel sheet from our database was called Orders and let's say from 18 from a one through YouTube. Let's give it a name. We do. We do want to add our headers unless that control OK, read range. And now let's create another Excel scope. We will be writing to something. So let's say test excellent six. And now we want to use this right range that was called Read Range, and we got to write it to our New Excel in this. Give it a try Now, if you notice we just had our Excel open, read some information from the database and right into our new except Excel called Test Excel. And these were nine rose that were copied a one through you 10 and it didn't copy you 10 because we did not add to hitters, but because we added the hitters. Headers were supposed to be added. Let's look at that and figure out why. Because here we did not have hairs do not have hinders at it. So let's run it again with our headers and see, Now we have our headers at it. This is a test. So yes. So the test. This is our database in a copy from you, from a one to you 10. And because we did not have our headers at it last time, it just gave us this information here. But now that we have our row are headers at it. We get this in, it's actually copying tin to 10 rows and that simple and that is how to read and write range works. 40. 040: Sometimes you just want to read the entire road oven Excel sheet. And to do that, it's very simple. All you need to do is use the read row, so let's drag this over here. We can get rid of this read range and get rid of any variables that go with that skewered Assn. Um, array. We can keep the closed workbook now, instead of having this read is for each. Let's delete this and let's use a regular four loop. So if we come back to our control, flow are for each. And now I want to do is change this sheet to orders That's our sheet name and then going to give this name see to lead other names that we have except for the clothes workbook. Let's just call this Read a row control, OK? And now we can use this freedom inside of here and this changes to item that to ST. So let's run this and we will get our state y de order I d water date, which is our first room or I d or at the streets. Now, if we change this to a to then this will give us the first actual road and that would get the actual value. And that is how the read roadworks 41. 041: when using the right range. If this excel does not exist, it will create it. And if it does exist, it overwrite any information that you have. So no situations where you would like to keep that information so that instead of using the right range, you would use the A pin range. So let's do that. Let's remove this. It's dragged us over. Read range data table. She name this one. Let's change this to a 21. Do you 30. Now we're gonna get information from this, a 21 through you 31 Andi. Then we're gonna appended to what we already have. So let's give this a try. Okay? So now we have this without information we had at first. And now we're going through 201 to 30. This is how it looks, and that's pretty much it. And that is how you would use the up in range 42. 042: Hello and welcome to another. You are path tutorial. In this video, we're going to discuss data tables. And in this particular video, we're going to So how you build your first data table. Now what we want to do first is come to programming under data table. Let's drag over our build at a table. And if we click here, will open up our default data table that was already created for us by default. So I just wanted to leave these out. And now, if we click here just gonna add our column and just to give you a little background on a data table and what it's actually four. So a data table is, and we saw it in previous videos is similar to what an Excel spreadsheet looks like. It has columns and has rose. And you have your headers and the reason Well, one of the reason why you would use a data table there several different reasons. One example would be if you're extracting information from a large excel and you don't want to use all of the columns all of the rose from the Excel, you could build a data table based on information that you actually won't and create sort of like a view of that excel. Or if you have, ah, database and you wanna save this information to an excel or something like that, you could do the same thing. You can just extract information from the data table that you actually won't put it inside of a data table, and then you could use that within excel or however you choose to use it. So the first thing we need to do when creating not data table was created our columns. So you will see our column name. And this is just the title and its support strings string name on Lee, actually, So let's give it a name. Let's say this data table would be a profile data table, so we will give it our name. And if you like, by default, this is this is selected as checked. And what it means is that whenever we're adding our rose to this data table, um, this congee blank and this could be no or blank. And what the auto increment means if we're adding, let's say this was a new road that we're adding on, and we have our column name as either i D or some kind of number that could be auto. Increment it. We can select this if we have it as integer weaken. Select this and in the first row will be one cycle will be to in an auto increment. When it's expected. Fostering you can give it a default value, and you can make it unique. What this means is that if this is selected in, all of the rows of this column needs to have unique values that mean Road one value cannot be the same as road to value and on and on and on. And the Max Link is the number of characters that are accepted in this column. If I do not want to enforce a Max link, then you just leave it as this negative one, meaning it could be any number length. So now we have our name. Let's select okay, and then let's at one more column that say, um, that's a profession. We'll leave as a string as well. And so we have a number. Let's say number of years, we'll give this as an integer We won't select uncommitted, and now we can give our first name the first role we could say Michael and click OK, now we've created our data table. And now what we want to do is everydayness in here. We don't want to use this data table from previously. Let's give this a new names. Let's say profiles of control K to now we have that. And the next thing we want to do is at our output so that we can see this. So I put name or input. Name is Profile T. We want to create a stream. So let's say profile stream to your and then let's get our right line. Will you see that? No, it's a profile street, and that's right running. If you see we have our headers to name profession, number of years and Michael, Software Developer 10. And that is how the data table that's hard to build data tables work. Um, I hope this video was self four. Thanks for watching. Look forward. Seeing an extra tutorial 43. 043: in this video, we're going to demonstrate how you would add a column so we would just drag our column over . And let's add this column after we had our road. No, as you will see in, I believe, like the next video are one. After that, we will see how we can replace this build with something that's dynamic where we can add multiple columns and multiple rows as needed. But for right now we have our default set up where we have three columns and then we have one row and we added our next row, which was Tom Smith, the boxer. Now we want to add another condom and let's add it to the same data table called profile DT . In our column name will be favorite color. And then so now when we add this, we left at another room. So just copy this or we could just drank over this. Just drag over drag over here. Profile DT. Let's give it a new person. So Curly bores so when it up. And let's call this case Casey. Cassie is a doctor for 15 years in her favorite color is blue. Now let's run this okay, so we have for no if we noticed our headers. Now our name, profession, number of years and favorite color. And then so Michael did not have a favorite color because we added it before Tom didn't I have a favorite color? But Cassie does. CASS is a doctor of 15 years, and a favorite color is blue. And that is how you would add a column dynamically. Hope this video was hell for Thanks for watching. Look forward to seeing an ex tutorial. 44. 044: in this video, we're going to demonstrate how you can use Thesis elect statement on a data table to filter out different rows of data. The first thing we would like to do it is to grab over are a sign we're gonna put it right out to here. And now we Let's create a new data row. And so this will be called D. T. Rowe, and it would be a string on a ray. I'm sorry of data Row, so lives browser for that type data room. So it is an array of data rose. Um, and let's use that. Got a rule equals our data table Name is profile DT. So we say profile DT dot select. And when we do our select, we need to inside of here used the name of the column that we would like to select from. So let's go here and we list selected by a person's name. So let's just use name if we drag this so we can see it better. So we're saying name equals going to put that equals. Um, let's say cast cast and inside it. So we have our double quotes here, but inside of our value Gonna put around a single quote. So if you see this, this is a single quote, single quote in double court. All right? And the name was Cassie. I believe that's how we spelled it. Let's go back. Yeah, I can see. And now what this would do was this will give us our road where Cassie is available and now inside of this right line. That's right, D. T. Rowe. Zero. Because there should only be one a person, like one role that has the name Cassie, And they were going to get the items back from that. So that item and we can choose whichever, um, column from this road we wanna get. So we need to get the name or the profession or the number of years on a favorite color. Let's just for right now this use of profession dot to stream and let's print this out. Okay, so we know Cassie was the doctor. And if we come here, we will see that this is the first index. So this 0123 0123 Now, if we want to get her color, that's just type in three. So right here again. This is D. T. Rowe. So this role is that there's only one road at should return the name selected as Cassie. And this is our select statement. So we said, we're the name equals Cassie. So there should only be one row. So that's why we can use this zero and the item that we want to call them. Item. It's just a column which call them, Do we want to pull back? And that is the third column, which is the favorite color. And let's run it now. We should get back Balu and we did get back below. So that is how the select statement works. Own a data table. Hope to the video was cell phone. Thanks for watching. Look for it. Seen an extra Torrey. 45. 046: in this video, I'm going to show you how you can do the same thing, the same filtering without using code. And we're going to use a You are path provided activity call filter, data table. And this is an easier way of doing what we just did. Now what we want to do is drag over our filter, and we can put the filter actually right above our output. And if you click here to give you a wizard, what you can give our input name. So that was profile DT, and we can also give it. I'll put profiled ET meaning whatever we feel to read, you're gonna put it back in that same one. And now we want to say our column name Waas. Let's say a number of years. Um and how do we spell that? No. Yeah, no number years. Number of years. So let's say come here. But this in string. All right, so let's say is greater than say to, and this should give us back. I want to say all of this is See how many people we actually have? I have two people case. CASS is 15 years and Tom Smith this 30. What was Michael? Michael is 10. So let's say 15. So we can only have two of the three people. 15 years. And now, if we put this to our profile stream, we can like this and give it our pro fostering. Now, let's run this. We should only give back to people. Yep. So what willing Got 10 because we said greater than and not greatly unequal to. Okay, so the only person got back was Thomas Mann. So let's change this to B. Great in it, or equal. And now will she get back to Okay, So now, Yeah. So now we got back Cassie, who was a doctor, and Thomas Mann. And that is how the filter data table works. Hoped his video was helpful. Thanks for watching. Look for seen an extra Dorial. 46. 047: Hello and welcome to another. You are path tutorial. In this video, we're going to create an outlook account. First thing we need to do is head over to outlook dot live dot com and then we can create our new account. I'm going to enter in M Tyus ca. Next we enter in our password, then enter in some more information about yourself. - Now we're going to set up our Tom zone and you can select icon if you like, And then everything else you can just Well, you can entering in your business and then everything else you can just select. Next. We're all set. And there you go. We have our outlook account. 47. 048: now we need to set up our outlook account has come here so late. Outlook. What name did I set up? It was Michael tasca look dot com put in a password. Hopefully, this will eventually stop. 48. 049: and this tutorial, we're going to discuss how we can use ur path to read outlook emails. The first thing you want to do is make sure that we have a sequence and then goto our packages. And if you don't have a mill activity already installed, come here to available and make sure you're all and just search for male. And we're gonna use the ur path mill activities. And we have that we're going to search for Male and we're gonna use the outlook. So we're going to use to get outlook and let's go over to our outlook and make sure we have some e mails. Um, I have some documents that we're gonna use for the project. So what I'm gonna use this for as an example is how to read this now it doesn't have a body , and we can have a body and have Europe had to read the body. But where we're going to do is read this subject line and now we're going to come back to our mill activity. And so, for our output, we're going to give it a name. So control K and this say outlook messages and this will give us a collection of mail messages. And if you're familiar with dot net, you would know that, um, these are mail messages, which is just a collection of mail messages. Now that we have that we're gonna do is in order to read this mailman. These mail messages we need are a four loop go over here and type four. We're gonna use the for each instead of the four each row, one user for each and give it our name out of messages. And instead of using this object as the argument type for this message, we're going to use our mail messages. And for those of you who don't have the started typed in, just go over to browser and type system. You just type the whole thing in dot net dot mil in U. S. C. I want you type dot in mail dot m You come up and use email messages right here and just select that. And so now what that does It gives us this class of mail messages. So now whenever we have this item, it is a mail message object. And then we can, um, use item died, subject or dot output or message or body. So now we need to get our box. Then we're going to say item, and it was dot Now we can bring out our attachments named attachment name BCC the body in the CC um, this descend, er the subject and whatever for this tutorial, we're going to say that subject dot to stream. Now, what is going to do is read all of those messages and we can control how many we want to be ready by saying the top team in the top 30 all of whatever you want to be read. So we're gonna run this so analysis form analysis for him. It should have been far. Those are all analysis for and that is how the outlook email messages work. I hope this the tour was helpful. Thanks for watching hope to see in the next video 49. 050: the R P. A life cycle starts with a partnership between the client company and R P, a service provider. In a typical R p, a partnership the client companies buys the R P A solution as a service in a service provider handles everything else, however, we're seeing more and more partnerships where the service provider helps establish the clients R p. A center of excellence with the expectation that the service provider will phase out after some time. A centre of excellence. Also known as the CEO. He is the blueprint for any R p a strategy and is essentially the way to embed R P a deeply and effectively into the organization and to redistribute accumulated knowledge and resource is across future deployments. At the core of your sioe lies the robotic operating team. This team consists of a set of clearly defined roles and responsibilities, and it's charged with implementing and managing the automation as quickly as effectively and as safely as possible. Throughout the enterprise, most R P a team has been established. The team would develop a governess model to follow governance, takes responsibility for assessing R p a opportunities and prioritizing automation activities It provides the guidelines and templates for assessment, design, development and deployment of robots and managing the demand pipeline. It involves assigning rose in accountability and ensures good collaboration and communication between units within the governance process, change management and issues and risk are laid out, and the framework in temples for change management are established. Performance and productivity metrics and measurements are also circulated via the governance process in order to carry out impact assessments and highlight areas for business improvements. Now that everything has been set up in all functions are in place. A well defined stakeholders communication and management plan will be put in place to secure the buy in for R P, A adoption from all concerned stakeholders. This plan will ensure that the strategic expectations are met throughout the enterprise. The next step is the proof of concept, also known as the POC. The purpose of the POC is the validate the applicability of R P. A. The typical POC takes anywhere between 3 to 6 weeks from initiation to delivery and is usually followed by case study of results. The main goal of the POC is to highlight the R P. A tools features and functionalities. Therefore, it is recommended for the client to choose a simple to medium complexity process. Once the client has agreed upon the R P. A. To the next step is the pilot phase. This phase is a little bit longer and actually could take up to 10 to 12 weeks. During this, face and opportunity and feasibility assessment will be conducted to evaluate the automation fit of various process areas across different business units. The most promising processes in terms of return on investment and scalability will be selected for the polity and deployment to production during the rollout toe. R P, a service provider, is primarily responsible for providing licensing, implementing the R P, a process providing technical support and maintenance, and providing training that summarizes the R P. A operating manual. Thanks for watching and be sure to check out the next video to learn more on how you can decide which processes are suitable for automation. 50. 051: so what makes the process suitable for automation? There are no hard and fast rules, but a good R P a process to automate will be highly manual, repetitive rule base, no expectation race and the data is structured. This means that if a process steps change frequently without following, a pattern is usually not recommended to automate. The best processes have clear exception handle instruction and decisions that are based on standardized and logical rules. Ideally, exception rates should be as low as possible. This implies that the no scenarios are prevalent so that the body can be easily configured to automate a high percentage of the process. Another important criteria for R P a suitability is the input foul or process in document for a minute. Good processes usually have structured input data, which comes in the form of Excel, where a template or readable PDF templates. It's recommended to start with processes that have high volume and transactions are highly frequent because they will, of course, save the most time. If automated and the efforts investing and creating automation will have much bigger impact than it would if a monthly or annual process with low numbers of transactions are automated , Mature and stable processes are ideal for R p A. As they are typically standardized well. Document with low exception rates, and it's not expected for them to generate new scenarios or undergo significant changes throughout the optimization redesign. Other improvement initiatives that usually apply to younger processes that these conditions are not met. It becomes extremely difficult to establish the scope of an automation and is difficult for the developers to have clarity on the automation tasks. Finally, it's important to do an accurate evaluation on automation benefits and select those processes that will bring significant savings. Processes were at least 1 to 2. FT's worth of work is saved. Are good candidates? Obviously the higher the number, the better a proper level of efforts, also known as the yellow. We should include the efforts require for a document in the process steps, creating the automation and reporting of the bots, deploying the bison to production, training the support team and doing the process maintenance. And that summarizes the R P. A opportunity assessment. Thanks for watching 51. 052: the R P. A workshop is where the r p, a providers and process owners come together to discuss to select R P A processes. This meeting could take anywhere from two hours to a couple of days. During this meeting, the process owners will walk through step by step the current manual processes, creating what's known as the process Definition document, also known as the PDD, or the standard operation process S. O. P. This document should go beyond the level of detail normally provided to human and specify exactly how the process is to be carried out. In a perfect world, the PDD should enable a novice with no prior knowledge of the business process toe work the cases correctly. During the walk through the RPI architect business analysts R P, a developer and project manager, will ask courses to better understand the process and uncover any limitation or hurdles of the process. Typical courses eggs during this meeting include, but not limited to, the workload of the bots to resource and requirements. The service level agreements the operating hours, alerting and reporting the data management exception and fording the management information and other reportings data preservation and business continuity. Typically, several cases are worked by falling precisely to flow in rules that are defined in the PDD . This would expose any missing scopes, ambiguity and incorrect flow. Most of PDD is created and signed off by the process owners. The R P. A developer, will use this as a guy to create in the solution designed document, also known as the STD. The purpose of the Solution designer document is to describe how the automation to will automate the process is describing the PDD. The solution designed document is intended to convey to the business to sufficient details of the automation process in order for them to understand and utterly approval to propose solution. It is critical that the STD does not go into low level details of how the automation to perform to process, as this will likely cloud the client's ability to sign off on a design with confidence. The solution designed document typically includes a description of the overview of the Indian solution, the process models, operational controls and alerting data security and credentials, the business and technical assumptions, and in scope exceptions. The next up of the R P. A life cycle is the beauty or configuration face. It is usually best practice to have a co review before configuring a but as well as during the middle to the end of configuration. This code review will help ensure a good future state design. Also, in this phase, the business analysts course me and the tester or the developer work together to prove that the solution conforms to the PDD business. Scenarios are created bodies me that validate the various process past. Inevitably, there will be defects and it is the developers responsibility to fix. Though defects and retests once resolved, what's all acceptance criteria has been met. A four test report of all defects and their resolutions will be published to the client Operation Team for sign off. Next, the CO will be deployed into the production environment and there will usually be a 30 day hyper care face to stabilize the body. Finally, after the baht has been stabilized and decline is confident. With the bots performance, the developer will work with the main this team to transfer knowledge for maintaining the body. During this meeting, the developer should provide a walked off the code in any documentation needed to maintain the body, and that summarizes the R P. A workshop. Thanks for watching 52. 053: the first thing I like to do once I received a PDD from the client is to verify the manual steps. So if we scroll down to our Step One, it says that the baht should read only the emails that contained the subject line analysis form. So in this process, we're going to use email, and we're going to read some emails and only grab the emails that has this subject line they were going to download. These attachments that are included in an email to some location now own a project. You will likely be given access to a group mailbox to read the emails as well as a shared drive where you will store these attachments the next up, it says the botch of openness, attachment and take the company name and look up the company filing information. If the company name is missing or incorrect, the bots should try with the ticker, so we will know this company. A company name is in column. A ticker is in column B, so we would look up the following information using column A and if it's incorrect, then we would try with column B and if both are incorrect and we will update the status column says Next the baht will navigate to the SEC government page for to do our search. And we were searching side of this box, and then we will search for the latest 10-Q report. Once we click the button, we will come to this link, and then we will click this link and this link will open us up. We'll open up the tin key report where we will extract the state and other jurisdiction. This name here they extract the exact name of registered and then they strike the E I in number next, but would navigate to Yahoo finance and use the same company name or ticker, and in search for the P E ratio and E p s on the summary tab. Next, the baht will navigate to the statistics tab, which is right here, and we will extract the enterprise value the price book the price to book ratio, um, the return on equity in the five year every said if it in Step 10 says the body will update the status for each column whether it succeeded or field. So each time it extracts information and paces inside of here. It will add a pass or success message and for whatever reason, it fails. At any step one through 10 it will update the status will fail. Now let's manually go through these steps. So once we get our email, we will assume that we have our email and we have this company name. So let's go to the website that we will be navigating to place it side by side so you can see both. Once we navigate there, that's just used troll swap toe S C H w. So we will come here s C H W trawl swap, And then we have that. And now we would go to this 10-Q report and click on documents. Then it says, Just select this hyper link from the 10 key form. So right here, this will take us to the filing to the actual Tinky report where we will extract the state owned your station, the exact Richard name and the E i n. So this is a state of jurisdiction, the exact name of registry in our e I. So we can validate that those stoops next we would navigate to Yahoo Finance And then let's say search this, throw a swab and we will search for the P e. Validate whether we can do that. We have a summary tab. We have to pee. Next is the GPS. And then if we go to the statistics toe Haver in a prize value the price to book the return on Equity ISS here and then the five year average dividend is here, and we can. We've just validated that we are able to do all of the steps that are in the PDD, and that is how you would validate your PDD. The next thing I like to do is break the steps apart and create what's known as the object . Mapping the object Mapping helps us determine which actions in which objects are reusable, and this will help us in the long term. When we want to create a seven a process, we can just call those reusable objects. And I hope just to Tora was helpful. Look forward to seeing the next video. Thanks for watching 53. 054: in this video, we're going to create our object mapping. First thing I like to do is let's create a blank word document and this title this objects in actions. And what we're gonna do is we're going to go through this document and we're going to list out all of the objects that the baht will interact with. And if you don't know what the object is, just think of an object as a thing that the bottle will interact with. For example, we know that we have outlook we interact with. We have excel that we interact with, and we have Web browser that we interact with. So let's map those up the one we have outlook as the first scene, Um, next object that we have this excel. The third object that we have is Internet call it would browser, and then 1/4 thing. That may not be as obvious, but is our file folders to where we were download and save these Excel files now? So these are objects and each object has an action on it. So the object the actions on our outlook is to read the email. The next thing is to save foul. Next. Um, so that's pretty much it for our outlook. We're just going to read the emails. I'm going to save those attachments. The next thing we do is we're going to open up this Excel foul. So in order to do that, we need to come. Teoh read the Excel that we need to. And when we say read Excel, it's the same thing. It's opening Excel. But we can say we open. We extract column a extract column B Um and that's pretty much it. For now, we're gonna update the information back into this, but for now, we're just going through step by step. We're going to read The Excel Files were gonna extract column A and then we're going to straight column B as optional. Next thing we have is our Web browser, and we're going to navigate two sec. We're going to search or our report to say for 10-Q report. And this right here step is we're opening our document detail and what this is is out there . We search for this report, it would bring us to this page and then we're gonna step. C is to open a document detail page by clicking a button we can put by clicking buttons. But the next thing we do is to open report a clicking a hyperlink. The next thing we do is extract strike our state or other. You say extract state? No, we extract name condemn, Restrict e I in them. Now we're going to navigate to Yahoo. Want to, um, by default It opens up to the summary page. But if you want to, you can You can add a step here to click the summary. This is due about defense. This is Do that Click some retail extract. But is this extract P strike E. P s navigate and student Instead of saying navigate to summertime to say navigate sounds more professional Navigate to statistics Tab, Strike Inter. Next thing, we're gonna distract his enterprise value value. Big strength price to book, right. Return on equity and extract dividend. All right, now our foul folder. What we said we need to do is one This kind of is this is kind of combined with the outlook . We're saving the file folders from Outlook. But we're also say we're doing the same thing. So what we can do here is, um, in the same things for in the Excel foul. But something that it's not very obvious that we're going to do is that we need to have a way to determine which Excel file the bodies currently used is currently using. And so, in this document I have at the bottom and I'm a show you when we're gonna do is we're gonna create these folders in the very first folder that we saved his files and two is gonna be the input folder they found that we're currently working on would be move to depending folder and then whether or not the process was successful or failure, we will move the file from pending to complete or failure. So I guess for our foul folders we can have a move our because that's something that we will be doing a lot. And now let's create our objects in action mapping into a more standard for let's use Excel Open our Excel and this creative blame document we want to give this header the object action, input and output output. Now what we're gonna do here is we're gonna list all of our objects all of our actions in the required input and the expected output. This suspected output, we can go ahead and put variable barrel type. Okay, this backup and go through the first object that we have is our outlook and action on that is read email. And then we have another one cost safe attachments. No, it's called Falls here. But IM said attachment smersh this now, what are required inputs for reading emails, I would say to required input is the filter criteria, which is we need to know, um, if we go back to looking at our e mail, it says that we're only going to read emails that contain a subject line of an analysis form. So we need to know what our criteria is like. Wood, are we searching for basically. All right, Syria. Thing is, I spoke, okay? And then our output would be the male item. And again, for those of you who know dot Net, this is just a mail item object. And so now, for our outlook, our input is the save the location, the location where we want to save This is what we need to spend. Need to specify this action in output would be text and just a bag, but and let me bag back and, um, explain what we're doing. So our objects are the things that we interact with, and our actions are the actions that are on that object, and these are going to be our functions, right? And each function you need to supply with parameters. And so I input parameters for the read email is our field two criteria and the input parameter for our saved attachment is saved the location to where we're going to save it. And sometimes we are respected to return an object, and sometimes we're not. In this case, we are going to return something and where we're actually just trying to validate is the mail item here, this is was gonna be saved. This is what the output of this whole action is gonna be in the output of this is gonna be a text, because we're going to return it, and so we can validate whether or not this is the correct location. Now we have excel, and then we have read Excel, and we have extract collar. So we have extract. Call him a in a straight column B we're gonna trim that down to just say extract column in this action can be used for either column, whatever we specify. And so that gives us our input is going to be the column. Name output is going to be the sale data. And for a reed is gonna be We need to know which foul were need to read. So the file path and then output would be a data table emerged this. Now we have a web browser, which is the biggest, the largest we have navigate website. So the first thing we do is navigate to sec and we're going to say navigate to website. And we're gonna use this action to do both and navigate to SEC and never gain to the And that's the reason why we gave it these names, though we need to know that you are you. Then this will be an image because once we navigate to it, we're going to do some validation to check the image. Teoh, check some kind of kind of image or element to make sure that we're on the correct page. So that's are expected. Output is an image type. Um, the next thing is going to be search because we're searching for the company name and we need up in the name in the return output is going to be text because we're gonna validate the name given back from the search results. We can even say the image actually is. Whenever we're navigating to somewhere or do any kind of search, we're gonna do some kind of if this image exists or if this element exist. All right, the next thing we're gonna do is open. So we have open data open document and open the report. And we don't actually have any input for this because just going to click buttons, um, to say click document. But you know what's actually going on? Click. So there is no input. And for output, we could actually say for this one here, there is an image. We're gonna make sure that we're on the right page and for this open click open report. But we're going to see in extract data because you call when we get here, we open this report and then we're going to strike tout of data that's on their report. And so we're just gonna instead of having to say all these actions were going to combine all of these actions with this one. Action call open report and extract the data. We do not need any input. Or do we need an input now? We don't need any input and is going to return us the data that ticks that we get back from next. Next thing we have is to navigate, So we're gonna use this navigato website and we're going to just do the same thing in just for clarity we can put here again because we know that we're now we're navigating to No. Yeah. Who this time? No, we're going to Once we navigate to Yahoo, we're going to search, and we could use the same thing. But no way. We're going to say search company name. So we need the company name and then we're going to return the image. And now we're going to use all of these are gonna be the same. So once we click on a summary tab, we're gonna extract the data click summary, have an extract data, no input and output would be text. The next thing is, we go to click on the statistics tab so no, you are no input and output is text. And that would take care of all of these. The last thing we have is this file folders and what we need to call this object. ISS move foul. We have a from location to location, I would say from and to location that we need to provide it. Then output would be text. We can validate it. And that is the object mapping. We have all of the objects. We have our actions that we see that we can really reuse We can you reuse this navigate two website and later, if we want to change any of this, we can still reuse some of these components and without having to recreate the will. And that would do it for this video. Hope this information was clear and helpful. If you have any courses, please feel free to reach out. And I look forward to seeing the next Victoria. Thank you. 54. 055: open up you up have And then we're going to create our framework. So come here and select reframe work. You can select any name that you were like in any location, and you can also update the description and then just go ahead and select. Create. You are a path has loaded and you may see that it found some errors here. We just ignore those. Um not sure why is doing it? We can go and look and see why it's happening, but it won't affect the but so just go ahead and select auto high. Then you can maximize this window. Then you should see your interface. Look, someone like this where you may have older version where the project and activities are here, the library in a project. But at any rate, the baht was still work the same. So no worries. If your interface doesn't look like mine, it just means that you have older version. For some reason, you are pat whenever lunches. Whenever I lunch it, it forces me to update. So that's why my interface may look a little different in yours. But now let's discuss our design at a high level we will be using our excel files that we read from the email and then we will process those using our SEC website end our Yahoo website. Now a design best practice would have us to create two different bots one project one but will be used to load those fouls to the ur path orchestrator. And then once we have that done, we can have several bots run each transaction from you, our path, orchestrator. And that's what we're going to do. So again, we're going toe design are But by using two different processes, one will be our loader and one will be our process handler. And in this video right here, we're going to go at high level Overview of how to framework should be utilized. So here we have our innit state. And if you remember in our video earlier we discuss the different state machines. So this here is our net are in its state in an hour, a knit state, we have our reconfigure and initialized applications. So let's go inside of this and see what's happening. Though in the beginning we set our system error to nothing. And then if this is the first run, meaning if this is the first time that we run because we're going to run multiple times, depending on what our result comes here. We were you to come here or come back to our Nick. Now, this is the first run, the very first time that we run it in this transaction. Then it will read our CONFIG file, and it will initialize all of our settings, meaning it will grab all of our far variable names from the config file and all of our settings from the confused foul. And then it will kill all processes because we're trying. We're assuming that something may be lingering from an existent process. So we're going to kill all the processes that we would probably have open, and then we're going to initialize our application, and then this is all within a try kitsch. And if you're not familiar with a try kitsch, um, the try is what we're trying to do. And then if there is an if there's an error that exists when whenever we're trying to do, we're going to catch those errors and then do something about it. So in our try, we're trying to initialize all of our applications and then in our our kids, if we catch some kind of exception, we're just gonna mark that exception as an era. And then we would notice down here. This is how we get either to our in process or to get Trent get data transaction. Transaction data is based on whether or not we were successful or there was a system error . So let's look at our success. So our success is just saying if they're the system, error is nothing. Then we can go to success and we can go to the transaction the next stayed here, but I just want to go back. So to be clear, but that was a success. Now, this is a system error. Now, if the system error, this right here is the next one. If you remember, this was the 1st 1 If system error is nothing mean it has no system error, then we can go successfully to get transaction, get transaction data. However, if the system there is not nothing, meaning that it is something, then we will log this and we have different laws. We have the fatal the era warning info or trace. And those coincide with these here we have era warning information and trace. Now, this here is a fatal because something happened to our system that we cannot lunch it in. This is our system. We're initializing our system. So if something happens and we're gonna go directly to our in process and if we have nothing happened, like meaning we were successful, then we'll come to the good transaction data. Now, let's look at the end process. So the in process is a similar way. We have everything within a try, catch. And in our trial, we're going to try to close all of the applications that we may have had open based on our initialization. So if we initialize, um, some application and a web browser, then if for whatever reason we've hit an error, then we want to come here. We want to close all of those applications, and then, if anything, it happens within here. We also want to log this as a warning and then killed a process. Now, if this was a success, we will come to our get transaction in our get transaction. We have a check stop signal and this is if we're running our process from orchestrator and then if one of our ad means or or someone tries to stop the process, they would click, stop or council and then the baht would read that and say, Hey, we need to stop And then it will stop it in analog a message saying that the stop process was requested. If there was no stop process, it would log in and say Stop process was requested and then will come here to transaction item equals nothing, meaning there was no transactions and we'll see why we do that in a bit now. If there was no stop process, then we would get the transaction data and we do this all within a try catch as well. And again, if there's any exceptions, we have our exception. And then all of our try catches. You will see that we also have a finally Bach and we'll show you how this works when we look at the process Zaman or the process stay. I'm sorry. Now, inside of this, we have our arguments and arguments are, if you remember, are things that we pass to our workflow that we are invoking and if you come here and you select edit and we can see all of the arguments that were passing to our workflow Now the conditions for our get transition to decide whether or not we end this or go to the process transaction. These are the conditions. So to train the new transaction. Meaning if we're going to go to the process transaction, then transaction item is not nothing. Meaning that we have some kind of transaction item that we got from our transaction data from I get transaction data. However, if the transaction item is nothing meaning we didn't get any transaction items, then we will go with a log it and then we'll go to in process. And so let's take a step back and let's look at this. Get transaction data. So again, if they're this item, when you have we run this whenever we invoke this transaction, if we get some items back, then we will go to process transaction. If there's nothing, then we will go to end process. Let's open up our get transaction real quick. This is how it looks. But we're going to change this so inside of our get transaction. What we're going to do is in our body loader. We're going to read the e mails inside of here, get those Excel fouls and save them to some folder. Okay, so now let's go back. Now, Assuming that we did, if we didn't get in the data from the emails, there were nothing. Then we're gonna end process. And if there was, something will come here. And then once it does this, come back and see. Hey, there were no more emails than it in in the process. Now let's say there are transactions that we got back. We did read it. The emails and we did download the Excel files were gonna come to the process trend transaction. And then this is where we're going to read. This is where we're going to do all of our processing by extracting the data from the SEC site and the site now by default. It has this business rule exception as nothing. And this is the same thing that we saw earlier when it said the system error was nothing. So it has the business rules said there's nothing, and then it's tries to process this. And then if there was an era thrown, we're going to catch it. And so if our business rule comes back as an exception, meaning there is a business exception, and I'm not sure if we discussed it. But the difference between a business exception and a regular exception or system exception is if the business business exception are those type of exceptions that the business, um, has to correct. Maybe the data is incorrect or the data was not in a folder or whatever those kind of reasons that the body itself cannot handle than those of business exceptions. Exceptions are system exceptions, internal exceptions in all of the kind exceptions. So certain exceptions are those that the baht maybe fell to find this element. The bottom a filled at the step or the application must most likely wasn't open or something to that effect. Now, if there was a business exception and we catch an exception, and then we will mark the exception as the business exception. Now, if there was a system exception that we mark it as a 16 system exception, and then finally we're going to set our transaction status based on either the business rule, the system exception or the successful now inside of here. We're gonna open this up here, said transaction example, so you'll see what's going on and you can read. This information is very important. You just take take your time to read this. Now what's happening is based on whether or not we have a system exception or business exception come back here. So we have our business exception system you session or if everything was successful when we tried to process this. We have these three different branches. We have the success, and then the success will. If we're using a Q, it will set the transaction status. Then we'll log a message and then we'll remove any transaction log files. And then we were increment. Our transaction number transaction number equals plus one. And then we were at our retry. We'll reset it to zero because if inside of our conflict file, we set our re try to at least two times, and I go over that in a minute. If we said it to two times and it was successful, then we're going to said gonna initialize is back to 00 because it could have read, it could have retried one time again and committed up to warned into once its funding successfully to say Okay, said it back to zero. Now if there was an exception, meaning this right here, it's it is there. The condition is his business exception. Nothing in system exception. Nothing. I mean, if there is no business exception and no system exception, yes means it's true. However, if there was a business exception or a system exception and we'll come here and now we'll say, OK, we know that there was either business exception or system exception. Was it a business exception? And if it was a business exception, that would come here if it wasn't then by default, it had to be a system exception. And then we'll do a similar thing here with these log message. Do our increase our in increment our transaction because we're going to get the next transaction if it's a business exception. So if you remember, if we're doing, if our process fails because of business conception, then there's nothing that we can do for that transaction, and we just increment it and go into the next one. So it's a similar to what the successes with the exception of we're going to be going to the next record and we're gonna be setting this as a business exception. Now the system exception is had a little bit different here. We're going to if if we have our cue said is retried and we will how low that information And then we're going to come here to our robot, retry in the inside of our robot, read to retry. You just have to kind of read through this, so it sent it. If our CONFIG file is greater than zero, then we will do our. We will see if we've reached our Max Re Trust. If yes, then lager air. If not, then we're going to retry on. Then. If it's not set as greater than zero, then we are going to increment our transaction. And now let's open up the config file so that there's a make a little bit more summer cents . But as we go down, we'll see that we would take a screenshot of the exception and then we'll close all of our applications and then coming back. But the main we'll see this is how it looks. So if it's successful, then we come back and get the next transaction. If it's a business exception, then we come back and get the next transaction. And if there's an era and there's an error than we come here and we initialize our applications and based on the number of re tries, we would re try this same trend transaction. If we've reached our maximum re tries or if we do not have our retry set, then we will increment our transaction item and go to the next one. If we have not met our transaction, then we will retry the same transaction. Let's see how that looks and we also on open up our config far. He's come here into project and you can select this file explorer. It opened up this, then we can come to data and then we can open up our config file. So as we look at our config file, if we come over here to Constance, we will see that we have a maximum number of retry and we said it by default at zero. And if you read this, it says must be set to zero, fusing orchestrated cues if great and zeroed about where we try to saying transaction which failed with application exception. So again, that just simply means that when we are looking at are set trained transaction and if there is an exception, then we're going to come to this path and see, Have we is first of all, is it said to greater than 10 0 If it is, and it means we're going to retry. If not, then we're going to come here to this path and we're going to increment it. So let's go back to this part. Closes countries action that out. And that is how you are. Path reframe. Work is to be utilized. I hope this video was clear. If you have any courses, please feel free to shoot me an email or send me a comment and just for clarity. I believe the reason why we're getting this error message here is because we do not have the U. R Pats credentials and start and we see here are activities. We do not have it installed for our dependencies. And if you're having that issue, then you may want to go to our packages and then that Za saved out of work credential on his star for some reason. Uh, see update. See if that helps. And that did seem to clear that out. I said about our error message. It most likely won't go away until we clear it. And now if we open it up, if we close this and open it back up, I think this error message will go away. So if you want to clear this era and if you have it, then it means just your You are path credentials need to be updated. Okay. Thanks for watching Hope to see in the next video. 55. 056: that's stored by adding a variables that we need to our config file. We come here to our project again or we go inside data and open up our config. Fall it opened up. Now we will see this and these This said this tab here's a settings tab is where we put all of our variables that we would like to use within our body. So we need our orchestrator name. We don't really need the process name, but we can go ahead and keep it. Let's delete this here and for our orchestrated name. Let's call it cool. What's que that makes any sense? And we would need our attachment folder, so to say, and let's go ahead and create those folders, I'm gonna create a no folder, and we're gonna put it on our desktop and let's call this share drop right on a real project. You will be given access to a shared drive, and I could take the time to create a shared drive. But for this simple example for what we're doing, it's not really necessary to do. All that we're gonna do is just create a folder you can call it whatever you like, but we're gonna utilize this as if it was a shared drive. And this is where we can put all of our input falls in output falls, and the client can navigate to those on and add more data to it and the body can pick it up . This is what you would normally see on a real project is you would have access to the shared drive. And this is where you would create out of your folder structures. Whatever you have, you would do it on the client share drop. So this is just a replica of what you will likely see, and we're gonna call it Share, drop so inside of this show, Dr going to create another photo call attachments. And this is where we would save our attachments from the emails. So let's get this path and go ahead and put it right here as our value and the baht will read this and know exactly where to download and save these attachments. Now that we have that, we can go ahead and close these folders. Uh, let's open that excel back up. And at our other there was that we will be needing Oh, in addition to this, we also need our in. We're gonna call it process input Photo way. Wanna go ahead and create those foreigners as well? Let's give these in number two like I like, give them numbers. So it was. That means that's the very first up who will be input folder. We would be depending folder and either four or five would be complete failure. So we'll say for is complete Father's failure back in. Let's copy the name. This got the name from there? This impatient here facing in the wrong one. Right? Next one we want to call this are pending folder. So in Pindi, Not sure we actually need to create depending folders inside of this. Since our stock loader, we won't actually be moving files to the pending folder in this process. But we will be creating them in the other so we don't actually need this. So I didn't delete that Onley ones that we actually need our our attachments and the in and put a photo because we're gonna do is we're gonna download the files to the attachment and then we're going to move him to the input phoner. Once we save him to the Q. Now let's go ahead and add our bearable for our email message that we will look for whenever we are filtering our emails and it will be called if you remember, it is analysis form in One more is our read email folder, and this will be the folder that whenever we read, our emails will move all of our files from the input to this photo here, so to be in box read. 56. 057: Now, let's go ahead and create our read and save email and go here in open a bar, file Explorer and create a folder. All the actions inside of this actions photos where we will create our example. So here and say new sequence, select that this will be caught. We in safe e mails. Now we have that created Everything is based upon this transaction data this data table transaction data in this transaction item which we will be changed into a data row. Let's go ahead and change that now and then. Now let's open up the get transaction data. Damn well, and we're going to replace this, so search for it if let's also change our transaction that inside of fear to transition IDM Sorry to a data row. This will be if in transaction number, it's less than equal to one. And once I'm finished, I will explain what all of this means. Then we want to grab our invoke, and then we want to call our action, and then we want to also change. There's transaction number one. So let me explain this. Sure, we have a debt around. Yeah. So if you remember in our CONFIG file or no. In this right here, we're going to continue to sit our Let me just show it to you. What? We never were coming here and we finish our process. We're gonna successfully come here and in increments, this value to get the next data or the next transaction data in here. Now, when we're doing this, we do not want to continue to read the emails. We only want to read the emails. If it's the first time that this has been done, okay? And then once it finishes, if you remember at our process transaction and are said transaction status, we actually increment the transaction number. And so now the transaction number will be, too. And then now this would this condition would not be met. So this part of the safe e mails would not get run Those our transaction data will be sent to nothing. And then it will come here and in the process because there is no more data going back to this. Once we have this set, we can go inside of here and at our arguments, and then we can import those arguments. All right, so let's go and save, and then start working on our read say, female. But what we want to do now is get a build data table and open this up, and we want to delete this and delayed this color. We want to add this this name, edit this name and you can put it whatever name you want. I'm gonna put e mails, email attachments, attachment name been hit. Okay. And then now we want to get our look for a male since type mill and go toe outlook, and then you want to get mail. So we need a get mill. We need a move mail. Then we need to save attachment. So in our mailbox, the mail photo that we're gonna read from is by default to inbox. And then here we can uncheck to read only because we want to read all messages and then for our top instead of reading. So on, select this could want to read all messages. And instead of selecting only the top 30 if you go to the UUP ed forms or their documentation, it will tell you that if you want to use the max value, you have to use the in it. 32 that max value. So this will give us the max value of emails that inside of the email folder. So now we want to set our name, say, mail messages. Then now must we have this? We want to do it if condition the search for no if in our condition is if mail messages got count is greater than zero, meaning that if we got emails, they were going to do this process. And if not, then we don't want to do with me processing. And now we need a for loop and inside of here, we're gonna put the mail messages. I'm gonna come over here to the right, and then we want to use this as a mail message. The search for a system dotnet dot meal dot and in messages. The reason why we do this is so that the item that we get back is of type mail messages so that we can just say item dot whatever it is and you'll see this in a minute then. So over here we want to add a transaction item equals nothing. If we didn't get in items and it goes back to what we were saying earlier, back in a sign over No space. We have it. No. So we need to add these values. His arguments of one argument we will be looking for are in Yes to email surgery. We can leave this as a string and by default, let's just give it a default value. And that was analysis. Um um we say are in catchment photo. Not sure what the value was for That way, we can add a day for value later and in red folder and this Waas inbox, that's red. And we have our I know chains. Action Idol, this is in and out. This is the oneness of type data room. Then we have out friends. Action data. This is a data table. That's only arguments that we need for this. Now we can say our in our transaction item it was nothing. And then Now look over here and we're gonna add another If and this condition will be If the item dot attachments that subject that to string that contains side of our parentheses , we can say in subject. But if it contains the message analysis formed and this is the correct email that we would like to read. Then when we read it, we would like to save this attachment your and grab to save attachment and moving in here who saved item. We were saving to the catchment folder then. Now we need to create a data rose so that we could output that data role so that we can have our transaction been set up correctly. This is a reason why we added a data table come here and say at and you find a data rule dragged it here. Then we also need, in a sign between son of values to this room. So what we want to do is create a variable called we can. You can call it anything I call Monorail Row. And this will be an array type string. And so we would like to at this a railroad I want to add up in the rain. So inside of you, you say I don't pro Space Idol. If you put a spear in front of it, remove it. So dot estimates that item Mr. First column, that name not to ST. Okay, you know, we can add this array to here. We'll say a ray row to be a data. A data that I'm sorry. So at this array row, it's not in the railroad inside of dental. Wrote this in a railroad. In the data table is, uh, transaction data. But now we want to move our e mails now that we've already saved them So we can come up here and we can collapse this if then we can add this move inside of here because we want to move all of our items, every item that we haven't gonna move. Then we would say, move item older. That we want to do is create folders. And so now, outside of this, we can a son Our transaction data way don't have to do it for each value. But we do wanna have it with Dennis. If condition just like how we have this, we want to add one right here. So we could actually copy this. And now we can say that this is this item is the out transaction data. Open this up so you can see it that grows. It's zero, minister first, I don't that we have and essentially like, we won't be using this data, but we need it because the whole process is based upon whether or not transaction item have has a data if it got anything or if it didn't. And so we just want to be able to add a data row so that it won't be considered as nothing that makes innocence. And then we can go ahead and save that we can come here and we can save it. And then this m go to import unless map all of our values. So we don't have this, but we can say config in computing, not to stream. I believe the name, the same name that we gave it. Here is what we have inside of our excel. So we can come here and put inside of a double, quotes this name and then do the same for all of these others. A two story and this one will be our in and out transaction transition item. Okay, this one would be out transaction data. I think I got those names mixed up, but you can change those and yours. And the best practice would be to change the used to have him correct. Like this is in and out. So this is should be also in and out. And this is out and it should probably being out as well. That is it for this video. Thanks for watching hope to see in the next tutorial. 57. 058: we're going to do now is go appear to our email and you would need to take the Excel files that I provided. Um, in sin, your seven email and in an email make sure that you put the subject as analysis form and send yourself an email. So to be in your inbox. And now you want to come here and create a sub folder and call Call it red. So now it was gonna happen, is when we run into but will read the emails, save them to our shared drive, and then move him to this photo here. So try what? We haven't error with this and see what? But we need to me to change this inside of here. And then this is action data that can say the same. So come here to our variables. Transaction item is a data row. That should go away. It Let's make sure got a edit again and then make sure. Okay, have that clear on are in here. Let's give it a run. That is OK. So we forgot to say it's something here inside of our set. I'm sure all of these were of the data. Rose that we have to change these to weather. The transactions that were to change it to the data row item is a data row already need to go inside of this. So go to our project and go to set status. Two arguments in transition item changed from a Q two, a data room. This may also dose of other errors, so we have to change those wherever they exist inside of here. Although we won't be using this so we can actually clear this. Eso this is looking for a Q item. We're going to delete this. We don't really need it. We're not using a que item, actually, right we're not Do is using the Q to processing these statuses. This here se that should be it is give it a try on it. So basically anywhere where you see that that era, we just need to change it to a data row and then re assigned a value remap the value it's out of here somewhere, though Here action item. But what this message is saying is that we cannot assign that Q type in a queue item type two adaptive in a row. I'm not really sure why This is sanity, But let's just take this. So if already it happened happy this from here in this place inside of here, and see so whatever. Whatever reason, it wasn't liking the way we had it before, but it's the same thing. So if you were having a problem, just copy from here and put it there. Is this the same? They were just setting to nothing If there's an era. No, I didn't say that. And now let's try to give this run and see or a processing. So we need to change this type now inside of here. So come to variable and it is a data row. Que item. Okay, go inside. Go inside of process. I'm sorry. So go inside of your process, Zamel and change this argument here. Who data row, save that we imported. That should go away as well. Okay, so now we're able to run it and that's looking out there a message that we're having, though the way. If you have any errors where you don't know what's going on, we can use our debug, which we discussed in earlier video come to execute and running in debug mode and you can see exactly which part is failing on. I was felling right here. Okay, so we can actually stop it if you want. And you can actually step through it, like, step into and step over. But if we come here and scroll up, we'll notice that whenever we are working in our try to get transaction data and then we come here to invoke this it says that the work father giving key was not in a dictionary. So let's go to our get transaction data. And then this is our invoke foul. And let's see what's going on. Oh, it has to be something with the naming of our now a config file. Okay, so this opened up our config, make sure that we named everything the right name. Okay, so we have is going to keep going away. Uh, so we have in email subject attachment folder. Okay, I think it's disinvited. A red folder should be. Let's go ahead. And I don't want to change the name right now. Four list before this just double check. All the other name is one more time that we have Attachment folder. In a testament no surgical to see massive in email subject. Okay, that looks right. And now we have the n rare for that which we did. OK, so that looks right. Do you want to save changes? No. Making changes to the config. Let's save this. And then let's try to give it another run. So go back to design Que? No. So now was happening. Okay, I think, uh, say object. This is inside of our transaction so we can close this out. It's not. This is not process. Let's go here. Arguments. Do we set our transaction number? His action data. It was said it toe one eso Let's go. Look at this one more time. I believe we've We've invoked our workflow. It has to be inside of this. The one thing that I like to do is but a box so we can see what's going on. But some messages say we are inside, read and safe. If it comes here, then we know that we've made it this for sure. We have data inside of here, so we made it there and it failed. So way noted, It's inside of here. We know that it came here, but uh, I put table. We need to add our our transaction dinner. It could be the reason. Hope it's that simple. One more try. Okay, so now it's reading. But those emails hold them to the Red photo, which is, but I think we hit a snag somewhere. We're going to stop in and see and so sick are output. Uh, look like it was an infinite loop. Oh, so he would have kept on going. And this is what you call an infinite loop. Been able to continue to go on and on and on. Let's see what we did when our logic a transactional successful for this one. Then it went again. I shouldn't have gone anymore sort of disk. You transaction. It's so let's go here. We know that we've come here and we've got mail. Mrs. There shouldn't be any more mail messages in our inbox, so it should not read anymore. Now it is greater than zero. We should have a know it should be said here, So let's put a box. This will be true. And we're doing it just to see which one has been executed. So you that there should be no more emails in our inbox because we moved everything from our inbox to are red. It's run decency course. Okay, so it is sending transaction item to nothinto. False. I did, and seems to be the problem. Let's try this one more time. Let's move our red items back over here in this correct our logic and make sure so it will only happen if this is read in the one. So what? So what if this is doing what happen? Interesting. So if this does not run, maybe this should always run. Then, as if we always run in, Then we always get, uh, no, Like nothing or data. Maybe. So let's look at DNC. Pull it out. And then So we know that we have data inside of their Lett's. Remove the data from here first and see what happened. If it reason and there's nothing, and then we'll put it back. Balls is what we want as data. Yeah, yeah. Uh, must have been processed on the server. Okay, my inbox is updating, so give it a sec. Uh, okay. So we have all of our items Moved are far from 12345 Run this one more time. True. Now it's going to read him US farce initiative in it. Okay, so that I think that really just solved it. If we just remove this if condition and this let and then and then just let it run all the time. Because once we read the emails, if we have it is going to set it to is going to set the transaction item to something, which is the data at a road which would make it go to the process transactions. And then if it's nothing from a ml box from the in box, then it will set it to nothing which will end the process. And before we go, let's remove these. Let's check our folders to make sure that we are getting anything in our share drop. Go to attachments. We have all of our files that we just process at 11. 48. Um and that's it. I hope this was clear. Thanks for watching Hope to see in the next video 58. 059: Okay, so now I will like to rename. I were stock loader process. This is the photo. I have money, and and I'm gonna rename it here. I'm going to say, uh, stock motor in. It's gonna take that same name, go inside of it and then come to this. And if we edit in any kind of no pad, I'm using no pad plus Plus, you can use no pad regular version, and this will open up. And so you want to change this name right here? And there's some other things you can go in here and you can, um I kind of learned what the's do before. Right now, we just want to change the name of this, going to save it. If we open this up and you are pad, you can either open up deprived to project Project that, Jason, where you can come here, select all files and open the main Go ahead and open up the project that Jason then Now we have the same project. But with our new project name noted here. And this is what we would do going forward. Hope this video was helpful. Thanks for watching. See in the next tutorial 59. 060: next We're going to provisions. Are you are pet robot would Orchestrator, What we want to do is come here to your or if you want, and opened up a new file Explorer. And so you you, you You most likely will have to come here. Go to computer boater Users go to your, um, photo and then go to APP data local. Then you'll see you are pad. Then what? You open this up, you will see something that looks like this that either says you are pad that agent or you are have that robot or robots or something similar to that. And it looks like this. You can either set this as a shortcut or you can double click on it. I've already done it. So if I just come to mind already have it. So you iPad robot. And then it says for mine opened up again. That it is can open it up without heaviness. That is, it is already connected. So what I'm gonna do is I'm gonna disconnect this and and show you how you can connect yours. So open up settings disconnected in what you also want to do is come over here. Get another windows open. Another browser tab Type in demo that you up have dot com. This will take us to where we can set up a demo version of orchestrator. And you can use this for your development purposes or just to test out. So if you if you see this, then it means you have already created one, and you can log again. But since we're setting up for the first time, it's quick change, and what you want to do is add a tenant name. So we're going to say stock start, keep Then you want to give it a user name or an email address, So I'm going to say Tasca type in the password. No, this is a lot, lot again. I'm sorry. You want to click to become a tenant, and then now you want to give it a user name, So your tie esca admin is the using their So Tenet name would be Michael bioscope going to give it a name. Michael um I Couto and it name I can issue just says, uh, stop quote uh, how long have it? Great era. So put your stock, your tent, your tenant's name You can give it any name you want. The user name will be admin. Your name, your last name, email address and in a password. Then click. Create tenant. You can say save if you like. And so this is orchestrated. And so now if you come here and say machine you want to create a new machine, you want to say standard machine? I'm here to your command line. Type cmd and then typing. Who am I? This will give you a machine name. My dragged us over for a second. Now you want to type this in? You want to type this first part of human machine? Amen. Click for vision. Now, If you come here, I'll be this and go to your you are You are robot, but a savings in you Notice that it has your machine name here. Type in the machine key and get this your ill pasted. They change it. Just be aware of that Click close. They come to robots our standard And in select that one you can give it this name off. Same thing you type. Previously here you wonder the same thing but put the entire name and if you have ah, password. Go ahead and put that in. They create. You may have to refresh it a couple a couple of times for you to see available, But if you when you do it And if you see disconnected, just continue to click, Refresh for men and just given a few minutes a few seconds and then you will get this available. And now we have it. Thanks for watching. Look forward to see you next tutorial. 60. 061: then we would like to add our cue. If you remember, we gave our Q and name no big toe our config foul and see that our Q name waas Stocks start . Quote que minimize until we get the name right, so and change this if we want take a and now our Q has been added. 61. 062: we can hear back to you our path and we can begin adding transactions to our cue que items . I'm here. And if we just select seen new sequence and we want to put it inside of our actions and this will be called process no ad cue items let create and next, go ahead and open up the process. Zambo because this is what we're going to call so the main If you remember the Maine close the process and inside of the process where we want to do is you can put all of your code in here or you can invoke a foul. And what we're gonna do is invoca file. And it says description is in this file, all process specific files will be involved if any application exercise and you can read that. But now we're going to search for any evoke folk work files. Well, to call we're actions A that we can begin by Addison Variables. First we want to add is a folder pad then inside of here we can we can set it to default or we can assign it. I think to I believe I'm going to assign it appear and then here we want to que beret. This would be of string array. And so now let's go grab by a sign we want to say Oda pad equals you. Remember, our are in config fall. We need to bring over our configures. Well, we can come here and see what it is. It was a dictionary. Types of familiar treat has come here like this. We can't even get the name. So we have the same name and then give it a name. Income. See, now let's changes to in and out. Now we can say in config in the name of our folder that we're gonna add. Is this gonna be our attachment folder? We should open up our but fig foul. Make sure that we have that name, correct, But Attachment Folder. So this is the name of it going to make this bigger so we can see. I would say 0.2 straight. The next thing we're gonna add is another. A sign upon their here, it's going closes. Then we're going to to you array. And this will be the fouls that we get from this Fort Apache. That rectory. I have to get fouls. It's opening up so we can see it better. This will be the photo pad comma. Then we're gonna put it inside of quotes inside of parentheses, a side of quote, store dot exe sticks. And so what this means is we're going to go to this photo, pat, that we're going to get anything. So the stories, anything before and then dot x l x So any name that Exelixis Alex Exhale Essex. So now we want to grab our or lose and we're going to look through these. The item in the queue array have another sign, but we say Q item This created que a que I don't. And so this would be a variable and it's gonna be generic. We can say equals pad that get far opening up. So I don't So, Rose space item that to ST we want to add this to the Q. You item, and then we can say move foul this world. Let's change this from a type to string Or so for now, let's clear these terrorism and see what's going on. Just grab a sequence. Roadies inside of here, table this entire. Okay, Now, this cute item has given us some problems. So let's go ahead and make this a string value that would go away that I do away with that . So if we enable, this can drag this back up and then some back up and get rid of this sequence and for our Q name well, to give it in config. Our Q name waas dot to stream. Then here. If we come over here to this item information and create value and we can say Q item and give it the Q item, very that we just add it then. So, ah, remove path when we want to do is move this from our attachment. So if we come here to our photo path, we'll see we already have the attachments folder. We can say Move it from here and let's go ahead and click over right, so it's gonna be coming from here. Then do we have an hour? Big, Far the input? Yes, So input process folder, So destination will be in convict with process voter 0.2 straight. And just to go over it quick, what we're going to do is save it, save all it. We're gonna go toe off photo path and then we're going to set it as photo path variable, and we're gonna create all of those items to excel items in there. We're gonna create it as an array and they were gonna loop through this array, and for each item, we're gonna add it as a cue item, and then we're also gonna move it. So after we added to the Q, we're gonna move it, and it's simple. Is that so? Let's go to our process and make sure we have all of our imports we import. And we need to send in our config file. That's it. And this go back to our main make sure they won't call this. We are getting it. And let's give this a run. Remember, we need to come back to our email and this these items back here remember to close your config file before you run it. And then let's run it. No, looks like it completed. Let's go to our que and C. We have having items in the queue. Come here and go to more in view transaction. We do. We have. I sure how we got 10. Um, I think you ran a few times. I've deleted it. But let's let's let's just run it one more time to make sure that we're not getting duplicates. So we do have these and they are in the status is to lead it right there. One more time to make sure. So go back. Good. So here, go back to Q session. We should only see five. Yes. 12345 Ok, so somehow must have rain it twice without knowing in our probably previous a previous run . But we did get our five that we wanted that we expect it. And now this is how we run. So now we have ah, que loader complete. The next task will be to get these items from the Q and we'll build that out. When will be a lot when we build out our Q process handler. Thanks for watching. Look forward to seeing in the next tutorial 62. 063: Let's go ahead and start our new project, which is our stock handler. And go ahead and click this reframe work again. I want to create a new one. Then we can save it in whatever path you would like to save it in. And then I'm going to call this start handler, go ahead and click. Create. Okay. And if you see, we have the same issue again with this credentials, and you can worry about that later, click right here and say, auto high. And now we're gonna go to the Project folder and click File Explorer. This will open up our folder, and now we want to add our actions folder. Then we want to go inside of our data and open up our CONFIG file and then start at an hour . Information. Let's go ahead and remove what we can keep this. Let's say two Q name was stock boats. Que Okay, I'm gonna delete this city in who had attachment. I'm a copy and paste the values in. So this is what you will. This is what you wanna have. You don't have your input folder, and then you can put it whatever folder you provide it for the attachments and a process folder, which is what we had last time. And we actually don't even need to end the attachment for we just need to input photo because we moved it removed the items from our A testaments to our input voter. So I'm gonna delete the attachment folder we need to email Subject. Um, no, we don't need to even a subject, because we are not money either of these, but this is what you actually need. You need your input folder and then the S e c u l and then the Yeah, your l as well as the stock court. You. I didn't save that. Let's open up one more time because we do want to sit our retry inside of here. So go over here to our customs and said Max Rita and say two times, that's gonna do it one once, and it is going to retry one more and then retry to which will make a total of three tries . We'll set that up later, but for right now, we just needed to have it said as to, and that should be it. And in the next video, we'll go through and we'll initialize our applications. Thanks for watching 63. 064: It's so let's, um we're in our photo. Let's go here and create a new sequence. We're going to be creating our open SEC and open Yahoo's Emma. So let's create the folder. We want to put him in action. And what a name. This one is Open sec. We want to do one more open. True that. This in there. Actions photo. We A. Now here. What we want to do is go toe activity. We want to search for a browser, an open browser. Do the same for this one open browser. And they were going to come and create our arguments. We wanna say they in sec, you are ill. Make it like this. We can give it a default value as well. So we contested. And this is I'm going to copy this. You can go to the PDD and copy it front of PDD. And then we want to say There we go and saved it. Do the same thing for this one creator argument in Yahoo. You are ill. Get him a copy. This from the PDD in? Yeah, you're now we want to go to our project and open up the initialized application here. You want to grab, Invoke so invoked work foul. You can invoke him in any order. I'm just gonna open up in sec Indian. Yeah, I'm gonna important this. And then let's go to our older If we don't have it over to close this and then go back to our project nor open up our config file, we want to make sure that we're getting that name. So we come here, you will see that we have our sec in the name is in sec. You are No. So we'll come to this import and they will say, convict in config that to stream what I should have done in and begin in the last ones is always trim it just to be safe. Next one is Yeah, they're to close it. Don't save it in config that to stream that true tell you that now we shouldn't We should. We should be able to run in because when we call this this shouldn't let me just opened up to get transaction to make sure there's nothing inside of that, I won't go. So if we if we do call this distance, will, um probably ever out. So Let's just close everything and we can drag this up inside of here as well. So the only thing I'm doing, I'm just disabled on it, so that when we run it, it won't give us anything. But now all we look looking are we looking for here is to have this open up our applications. Let's get this. Let's get at a test fire. - Got both our yahoo in our SEC browser. Just takes a bitch to run to load. We have our SEC and we have our Yeah, that is it. Thanks for watching hope this was clear. See in the next video. 64. 065: but we want to do now is clothes are were applications that we have open. We can go ahead and close this since we don't need it anymore. And all of these and we will come here and open up the clothes application, then closed sec Those Yeah, you need to grab our invoke back to him over. Then we can search for close sec in close. Oh, now we will not need to pass any arguments. Um, we can come over to close here, and we're going to do it by using the web recorder. So it s e c. Go back to our You are or with this again. It's about this doll. I will come up. We're gonna do it. Click this year. Close browser Select the world's That you would like to close That will escape oId age. And you would dismiss it is go ahead and click. Yes, but we have our clothes. Sec. Let's look at our selectors to make sure they are dynamic Wisley Or and let's save this. Let's do the same thing for yeah, Whoever Carter close browser. I did even exit. Now we have our clothes yahoo, close sec and if we give this a run, should see it open and then close. And that does it for this video. I hope everything was clear. Thanks for watching. Look forward to seeing the next video. 65. 066: The next thing we would do is come toe are initialized application and you will see that we have Akeel processes Zamel that has been triggered. So we need to ad code for this right here. Go back to our project, open up to kill processes and then come back to activities and let's search for kill process. And if you drag it over and if you want to know the process name, open up in an explorer and then go down to bottom on your desktop and right click somewhere and you'll see tests start test vendor, click that and then you will see I explore. I eat, explore And this is the process that we would like to kill. Lows this lead this open Go ahead and in the process Name you wanted in strings put I e explorer. You don't have to put dot e x e Let's give this a try. So now we have our kill processes 66. 067: Okay, So the next thing we want to do is add some exception handling to our initializing applications so we can go ahead and close these out. They come back to our process, go to open sec, an open yahoo. Now, what we want to do is once we inside of this browser, we would like to make sure that we're on the right page before we go to the next, the next state or the next part of our process. Right? And if we're not, then we want to let the user know or the baht know. Hey, we're not on the right page, so do not continue on right. And the way we're going to do that is by through in an era, if we do not find a certain element on the page. So let's go ahead and run this so we can open up the SEC. It's not gonna work because we have to run it from the main Well, no, because we have it initialized. Okay, Now we can come to our activities. We can say element exists the inside of here to make sure that we're on the right page. We can do have to warmer time, and we can make sure that this is here because this is what we actually need. So if this does not exist, then let's do so. This will return us a Boolean. Whether it's true or false. Se page parents state they you don't have to be that specific as I am. That's what I'm doing. And so now we have a Boolean page and current state, and then we can come here and say, if remember our age and current state And now So if this if this returns true, that means we do nothing. But if it returns false, then we should through an error. Let's go here to throw and then inside of here, you want to say new exception in parentheses. You can give it an exception. Say, um, sec Page not loaded then and just just so we know whether or not it works, let's put a box message in here first that to stream as the things that the selector said it wasn't it wasn't a good selector, so I just want to make sure do another one here in this. Let's give this a try through. Let's remove these again If this element does exist, then we'll do. Nothing will continue. It will continue forward. If it does not exist, then would through an error. We could do the same thing for this For the Yahoo. Go ahead and close this and open up our Yahoo now we can. You are element exists here. Indicate on the page somewhere. He actually want to do it for here? Because this is what we're going to search and then see if we get the same married, same setting. The same message exist. Let's say Yahoo, What do we say? For the last one age in current state, let's do the same thing. True. Okay, I think you should have been correct. State that current state, but and change it later, if you like. Okay, so now we have that. Let's do our if condition, then get our throw. I am thinking new if exception. No. And then this is Open it up. This you just quickly run. Do a box that true. Okay, that works. And and go ahead and clear this out. Now we have our initialized applications, with some exception, Helen added to Thanks for watching 67. 068: in this video, we're going to start building our get transaction data the cold for this. Now, one thing I want to do before we start building is to disable our initialized application and closed application in kill process. Because I just want to focus only on this and I don't want to, but to have to try to open applications and do all of that so I would do is go to our project. I can come here and just disable this part. Collapsed that one to the in process. And we want to disabled this part where we are lows in our application. Then we want to a part where we're killing the process and I believe it may be inside of initialized. So if that's the case and we may not have, your period is right there. I want to disable this because we won't be killing in the applications in Internet Explorer . You can keep that close. And so what that done? Now we can focus on our get transaction. I would like to go inside of our get transaction data foul for that. So open that up. Go to our framework open, get transaction data and so inside of this this has been coming it out. We can let's just go ahead and keep this is going and keep it and click here and we're gonna create some variables. The first ever we're going to create is a cute item is gonna be a string. And then the next one is the analysis form. No. Now let's create some arguments are Listen, modify some arguments before our transaction. We would like this to be in and out, so change this to be in and out in our config file. We can leave this as in, we have our our transaction item. We can leave this at where we can change this as a data row. And you remember, when we change this, we will have to change this in other places as well. So just go browser and type in data row and let's go down and see what else we need in and out the transaction data. We can leave this the same. There's one more I would like to create. Let's call this a out. You item the transaction item. This will be an out. Then the type will be. But you are path that chord at Kew Item. And if you just come in, if you don't have it to say you are bad that core. Thank you. Then you see Q item Select that Now that we have this, let's go ahead and create a new sequence called Get next Idol. Save it in our actions folder. So select a photo actions. It is going to be called kid next item, and here we can go ahead and grab are invoked, and we can invoke that in select in, uh, get next item. And let's just save it for now. And then let's go over to our get next item inside of this we would like to have and if statement if activity no, this creates a more variables, and we're gonna create the same variables that we have here, which we really don't even need to have him come back. But for now, just just go ahead and in creating, we'll see if we if we need a later that was stringing and we have analysis form, then go to our arguments. Let's create in transaction. This will be in and out going to be 32. We, of course we have our config foul. And we could just come here and copy these. We don't We don't have to, um, search for just come in and dragged this selected again. And here. No, you and this will be called. We will have any Miss Bell in this cabin. Better. This will be a in Didn't we have our in and out transaction data being in and out of is this would be a data table. Come here it is. Data table. We have out you transaction item. We can get it from here. Well, has come here and select this and out que item transaction item at the Q item with the transaction item which is here at a row, they're out at a row, and that should be it. Now it could clothe this and then we can say if our in transaction number, it goes to one. We had this in other code, but we removed it. And what this is going to do, it is only going to make this happen on the first run. Now, what we can do is if we go here, close this out, we actually have the code that we actually need. We can copy this information right here, doing incoming it. So a waas enabled it in. Just drag this information or I could me do it. Okay, so let's just do it one by one. Cut this. Go here. Pacing inside of here. In here. I'm going to cut this and paste is under here, so select that. So, like this one, and it'll go up under there, so let's just collapse that for now. Look, a folk focus on this. So this right here will be our cue item that we're going to get from our cue. If you remember, we have our five Q items that we want to grab now inside of here. We want to. This name can stay the same because it is our que name. We never changed orchestrator name and this right here would be So they're saying out transaction item this will be are out que transaction idol. And that would do away with that. And so now we want to get in a sign and we will say out que transaction item equals into nothing. So what this means is when we first come to this when we call, get next item we're gonna if this is the first time, if, well, if this number is set to warn and we're gonna grab the item from the queue, if it's not, then we're going to set this to nothing. Okay? And so now down here, we can say if this Q transaction item equals nothing. So change this from being transaction item to out que transaction. So now what this is saying is, once we run this cute, if we don't get anything back, then it will do nothing. And if we do get something back, then that's what we want to do. Our our code. And then So our code is We can go ahead and I can delete this for now. Well, just minimize risk. We may need it for later. We won't need it. So let's just go ahead and delete it. I'm looking at some notes lead that I'm going to grab in a sign. I want to say our Q item and we want to assign It's a out que item que transition item that specific content. Then open parentheses and let's open this up so we can see it and not to strain and so four hour queue item. If you remember when we loaded our Q, we named it cute item. So we're saying, Get this specific content from the queue from the Q, which is the item called Q item and then save it as our cue. And so now I want to grab our another sign you want to sign analysis for So these are variables that were Sonny and then we want to say in config, Let's open it up. And we want to say name of the variable that we want to look for for our analysis form. So what we're doing is, if we remember in our Q, we save the name of the foul that we were, that the name of our analysis form foul. And so now, once we get that back, we want to open that up and extract that data. So what we want to do is call this folder path from our config foul, and that name was called in Underscore Process input voter. And if you if you change it to a different name and you can name it whatever you named it, we're gonna say dot stream to stream and wanted append backspace in the queue item space and in acute the what? What this is saying is that that path to our folder backslash two Q item, which is the name of this Egg Excel file that we're getting from, um, from the orchestrator. And now, just for our sake, we want to get a box and message out this name Que idol, and we want to get our Excel scope type scope. In the scope is the analysis form, which is just pad that. We just created this entire pad inside. If you want to do a read range, we want to read everything. We're going to make sure that the headers is selected and we want to story in our in and out transaction data their data table in outside of this, we want to drag over one more sign. I'm going to say our out transaction item equals and let's open this up in and out transaction data that rose Now, inside, if you want to say in that transaction number minus one so all we're doing is setting our transaction item to a data rule because our whole code is based on a data road. We can go ahead and save that. And then let's do a recap of what's happening. So we're going to get our que item, which is the pad, which is the name of the Excel file going to get that and then we're going to if we got an item back. So if this is first of all, if this is not the first time or if this transaction number is not said to one, then we would not read this. And would you say the cute item que transaction item equals nothing. And so this code here would never get rand. And then if that code is no, never run, then our transaction item is never set and we were just in the process. But if we if that if this is set to wound and we will grab item from a Cuba, at least try to grab either for my cue, if we get something, then we will do this. If we don't get nothing, we would do nothing. Now, if we do get something, we're going to get the Q item and then get the path to excel far and then we're gonna pin does. And then we're gonna open up that excel and then we're going to set our transaction data to be a data rose so that we can do processing on it. Now, let's go back to our transaction data. Save this and this import. Let's look at what we have. So we have our in and out eggs action number. So let's save that to our in and out transaction number. We have our CONFIG file. We have our data table in and out down a table. Transaction data have our acute item, which is out his action que item. And we have our out transaction item. Now, we have invoked that in the next video we will continue on with this. I don't want to make these videos too long, so I'm going to wrap up for this one. I hope this was clear. See you next video 68. 069: Okay, so picking up where we left off, what we want to do now is grab our flow. You can say flow chart, and one that we won't is if you come here no to flow chart and dragged it underneath. Side of that we want to do is grab our decision so you can grab a decision and then grab one more. Let's connect that to here. Let's drag it down. So it won't be, uh, in NL. This one will come to here. But this decision will be if we come here so like that we can type in and we want to say control space. We're going to found our out. Transaction item is not nothing or our in transaction number is less than or greater than are in control. Space action data that rose that count. If that is true, then we want to grab in a sign. Just drag it here. I want to say transaction item out. Transaction item. It's the same thing that we said the other one too, so we can actually go get that actually copied the entire thing. Ever know if this is false and we want to do a condition. This is make it pretty big. I says if the in his action number is greater than so a minute ago wasn't a transition was less than enough to in transition. Um is greater than in. He's Yeah, that rose that count or the out as action item is not nothing. Then we want to. I'm here and let's set our transaction item to one. Go here and say that transaction when we're inside of here, we're in committing our transaction number 21 by one. All right, So that means that the very first time we come this Q item is not it's not. It's not nothing. So it to get to come here. And then we were processed these items and then the items will increment transaction from 1 to 2 to 3 to 4 and on and on. So what that means is, every time that there's more items in our transaction and our excel, it will continue to come here until this condition is no longer mitt in the condition is either cute item is not know with the very first time, this will be true. And now, the second time, this would not be true because we were not set the Q item number. We only get the Cube one time. But now this is true because our transactions is less than the number of transaction that we have in a Total Excel file. But once we've reached a maximum number of inside of the Excel file, neither of these will be true. And so now it will come to false and then is saying here if our transaction number is greater than the road count, which we just notice it is, or the cute transaction is not nothing. So this part won't get executed because this is the first truth and say if our transactions are greater than the number that we have and this will be true, then we will set this transaction back toe one, which means we would execute our get transaction meaning will execute our get Q. And then if we will continue to this process until there's no more items in the queue Now, Once we said our transaction, the one we need to rerun our get cute. So let's paste inside of here. That it there and now on this, if we both of these are false meaning that if this right here, if our transactions is not less than the number and we don't have any Q items, then we come here. And if either of these are false meaning our transaction number is not greater than the rose, which we are to determine that it will be which is a false or there is no more que items, which is what will likely happen once we get no more idea from the queue. Then we will set this out transaction item to be nothing. This will end the process. That was a bit confusing. Um, again, if you have any questions, please feel free to reach out to me. Thanks for watching Hope to see in the next video. 69. 070: Okay, So the next thing we want to do is to make some adjustments to our variables. We want to change our transaction item here to a data row. This will break some things. That's okay. Now, we're gonna come here, we're gonna change our invoke. And we also want to change this because sometimes whenever you make this change of the type , it does this to give you an era. But it's called transaction item. And so he's going toe re assigned that control space transaction item, and they wonder the same thing. Nothing in that era will go away the inside of our try. We will come here and change this to a data role Go away. That that will get rid of that era, then inside of our pitch are exception would do the same thing that we did here. That should item it was nothing. And, um, it's on net. Two methods. How to get rid of those Everest. Now we want to come to our process, come to our try. We were noticed that this would need to be a data row as well. Clear that era, and then we're gonna go to our finally and we have inside of here. This is that a role as well? To get rid of that was errors. And that should be it for all of the errors. Thanks for watching. Look forward to seeing the next video. 70. 072: So let's go ahead and open up our process. And we're gonna do our initial code and inside of here just so that we can see how this body will be running. Okay, so we're gonna grab a couple of signs. Well, this is grab to him when we need to. First, when we can say is company in ticker, these will be what we get from our excel. The foul that we're getting from orchestrated what a file named of again from an orchestrator. And then we're going to go to that path and extract this data, and we're gonna print out to the screen the values that are inside of that. Let's go to our desktop where we store our phone is that chair draw. Our photos are fouls air inside of here. What we're gonna do is open this up to see the name of the columns that we're gonna be looking looking for. But we have company and ticker. And this is the names that we need to put inside of where value here, we're going to say are in transaction item that item. Let me open this up bigger. Is there okay inside of here? make sure that we change this to a data row. Do that a minute ago because here saying that this is a data row. So we're saying it's a data roadside in here, but inside of the actual price process, we stand as a cue item. So make sure you change this to a data room and the inside of here we're going to see in transaction. I don't. That item you want to type in a name, this company not to stray. We could do that. Just copy this and put inside of here and come to our variables and make sure that your streams this one will be ticker. And we can close out this excel far and get a box. But activities search for box one. Is Prentice out to the screen? We're gonna say stream that join. We don't even have to do that. Just let's print out like like this, a company and base. And we're going to say ticker side of this. We can put a comma something that's so we know that two different values and go to main. And before we run this, we know that we have some items that are inside of that queue. We don't we need to load. So it's drag our emails back to our inbox. Then let's go to our odor. Our stock loader and we want to run this. Yeah, let's check it thing work. Let's go to our orchestrator. We have some new items. I actually had a lot of new items because for whatever reason, it didn't refresh a minute ago and I had already ran it. That's okay. Now that we know we have some items can go ahead and close this out. If you want a clothes line out, Sure. Everything is saying closed. Okay. And just a quick note. My, you are a path that goes extremely slow when I'm using this Camp Tasia screen recorder. So if you see me, skipping and out of pages are cut in and out is because it took me a long time and I didn't want to have you guys wait through the pain enough to screen loading up. So just a quick note. But now that we have that, we can go ahead and one more thing, let's come to our photo and we know that this is our input. But instead of running this I because inside of these are a lot of fouls. And what I normally do is I don't want to run through all of these, So I'm gonna delete thes and I have some saved where I've put it down to, like, three rows and let me just show you how that looks. So I just Instead of having the 100 rose or whatever, I just cut it down to do the 1st 2 rows so that the body can go through him real fast. You could do the same if you want. Just for testing purposes, you don't have to. Whenever we're doing a process, we're gonna go through each and every roll just for right now. I don't need all of them demo in it. Let me close it out and then goto our main and let's give, uh, very first me. And let's give this a run. If you notice we have gone through each role of each excel far. This is that role for that one. Go to the next excel. Both of those two rows in this it you don't have any aerosol went through all the transactions. Notice if there was more rows in tow. Have more transaction numbers that have 123 on and on and on. But we have it as one and two. And then we send it back to ruin, and it goes to send it back to Warren and go to right. And that is how our process is starting to look in the next tutorial. We will go ahead and take this data and then go to our SEC in Yahoo and extracting information and update those rose hope this video was helpful. Thanks for watching. Look for to seeing an ex tutorial. 71. 073: Let's get our safe functionary Lee set up and to begin, let's make some adjustments, own our project. So go inside of our main and go into the arguments we're going to do with add a argument, call you content, and it will be in and out, then go inside of the transaction. Then we want to go to our invoke and we want to. Well, first, let's go inside of our transaction data. And then let's add an argument you item and it is in and out. I'm going and say that if we go back to our main, if we import it, we can save this Q item is our you content that we just created. And then now we want to come to our aid. It arguments here, and we want to make sure that our transaction data is a in and out. Now we want to come to our are said transaction arguments and make sure we have everything . So we have our system business, everything. But now we need to add a in transaction data and it is a data table. And again, if you don't have it in your search, just browser forward, then we want to come here and create a cute item. It would be in and out. You can sit that as a string. So let's go ahead and say that dragged us back down. Go back to our main Added this are we import it down, We can get these values. We can set this as our transaction. So control space, Go to transaction data. This will be our queues of address space, cute content. And then we go ahead and click. OK, if we go to our in and out to our get transaction data, you need to at a if statement around this there are if Tennessee if transaction number because one bring this up out of there. So this will only occur if this is the first time that this transaction is run. And now for our flow chart, we want to have this, which is we can change this to let's say if in and out his action data is not nothing. Then we will do this and then if false, you won't do anything. So we want to first make sure that this transaction is not nothing. Then our next I want to Let's create a new one. Just wanted drag someone to stuff down. We're actually going to delete a lot of this stuff. Just keep this in and bring it over Happiness. It'll who will be this? Everyone a edit gonna say if out Q transaction is not nothing or no space in action number less than equal to TRO space. I o exact data. That goes dot count. So now if this transaction is not nothing Meaning that this is, um this is not the first time that it actually has come through because our transaction data has already been set because we know the only way it can be not said to nothing is if transaction has already occurred. And so if the transaction has already cared and the out Q is not nothing and the transaction numbers less than and I'm a rose, meaning that we still have more transactions in our excel. Then we want to come here and do a true all right. If we go true, we can actually delete this looks, we'll just do in a sign over a little bit, okay? And it should already be said, Yeah. So this is what this is what we want to do. All right. Everything else we can delete. Well, this is false. Then we want to set our out transaction to nothing. So so and everything else we can delete this. This this and in this transaction item is nothing. I mean, if we have no more items left, no more data left. Um, and there is no more items in in the queue or anything. They just want to set this trend transaction to nothing. So did. Whenever we do our our state change, our state condition it just in the process. And to be honest with you, um, I think the process will in regardless because the more changes, like some other changes that we will may well make based on the previous video. But we just let's go ahead and set it to nothing on this. Okay, a there. Then let's go to our get next item, those arguments, and then come to the top and we actually want to take this out. So remember, we have now said this inside of here, and we can go ahead and remove it here because it won't come here unless the transaction number is one. So we can go ahead and remove this and keep this and we say this right here can stay. So if I cue we set our Q item to our transaction, then we are calling our Excel foul. And then if, If not, so let's go ahead and create our assign. If this condition is not met and let me explain it, we created out transaction item. It's nothing in our, you know, transaction data. It's nothing. Basically, what's gonna happen is on our first try, we're going to come in and we're going to get our transaction. If this transaction has not produced anything, meaning there are no more items to get, then we want to set our transaction item to nothing in our data to nothing. So this is what actually will end our process if we come into this, get next item. So there will be no more items from orchestrated que to grab, and we'll just set everything to nothing so that we can end that process. However, if there are items and we're going to get the item and this is the code that we created that we created previously, so you should already be familiar with it. When we're gonna get that foul name and file path and we're gonna open that file up, then we're just going to set our transaction data to the first rule to the road. The current road out with that were own. Okay, so now we go to our city transaction status. This will change. Open our this right here again. This will only occur if it is a que item and the transaction is set to something that can stay the same. We want to Let's put a sequence around this next information and we can and say this said retry value or something like that. Let's grab it. If and before we get there, let's say if this is last transaction No, Trent, last transaction will be if our transaction number is equal to our in transaction data that rose that count. So inside of here, we want to bring over and a sign, and we want to say our analysis form. We need to create this here. We're going to say said our scope to sit transaction. Now we can say analysis form foul equals. You have our Q item. Correct? A school. We have our Q item from here that said this to in config and there were our name of our folder. So are we doing this? We're just going to get that, um, Excel, fall and this in the file photo off in process input older that to stream two streams, we're gonna contaminate that with a backspace and then que item Control of space que and what is went away. Okay, now what again? So what we're gonna do is let me take this little bit step by step, so this right here will only get, uh, processed. If this is a que item in, our transactions are already been sitting. Now, if this is the last transaction inside of that, um, the Excel file inside of our process, we're gonna be scraping and saving our data. But at the very in, at the very end of that last transaction, we want to save that that dad of table back to our excel and kind of override the information that we have there and bait. And basically where we're gonna be doing is saving those the P ratio and the status column and all that stuff once we up update that inside of our process. We want to save that out to the Excel file. And that's why we said, if this is the last transaction, then get this far right here. And then we want to open up our scope. Going to say Excel scope already. All right. Have it here. And it was going to say analysis form, and then we want to say right range. Do I have a right range? It's gonna be She won. And a data table was gonna be are in transaction data. Make sure we have our headers. Took a while. Save that. Now we can collapse this. Make our less piece go to grab another. If go to our recently, this will be Transaction is complete. You don't have to. Name is the same thing I'm naming. But if this as actually number is greater than and mission data Rose count, we want to assign this in and out transaction number back to one. Let me explain this to you. And if not, didn't want a sign transaction item as I should item to nothing trying to go through and explain everything to you when we first get our data. We're going When we first launched this application. We're going to initialize our transaction 21 No transaction number two going right. And so what that's going to do is is going to say okay, come in and get the next item from the queue. If their items gets anything, if it doesn't get anything back, they were just going to sit our transaction. Um, the Q transaction and the transaction data to nothing. I mean, we're gonna end our process because there was nothing from work from orchestrator. But if there is something from orchestrated, then we're going to get that item and open that excel file. Read that data and save it that that data as our transaction data table. And then we're going to write this item, this role, this data right here as our item. Meaning this is the current item, that we're going to process the very first item because it's going to say number minus one . And the number already is warning someone minus 10 So gonna be the first item. And then the next time we come in and be tu minus one, which is one and only down in order to have me never transaction items we have in that data table. The very 1st 1 is gonna be row zero, which is the first row of that Excel sheet minus two hitters. Okay, so we're gonna come back out from our get next item back to here, and then we're gonna come to this flow chart. Now, if our transaction data is not set to nothing, which you won't be on the very first time unless we said it to nothing, right? But the very first time, it won't be said to nothing unless our que isn't estimating. Right. So the very first time, if we do have something, is going to say yes, our transaction is not know, and we're going to come here. And then now we're going to say if we have a que item or if our transaction is less than the number of transactions that we have in an entire Excel. And the reason why we want to do do this is because our Q item could be nothing. I mean, could be something. Meaning we did get something back from the Cube, but we completed that number of transactions, right? We've meaning. We did get something back from the Cube. But we've already gone through all of the rows in Excel. So if either of these is true meaning we are less than the transaction or we do have another que item, then we want to come here, all right, and usually it would never be false. But if it is false, then we could go ahead and set, um, our transaction to nothing. But that's wouldn't occur because we already said here we have a transaction and we could set our Q item to nothing. But it's not really going to matter. So, um, at the become here, I'm going to say, if that is true, meaning we do have a que item or a transaction. We is less than the total number transactions. And we just want to set this transaction roll back to this so that we can continue on right , because we already noted, If this is said to Noah, then oh, are are nothing doing. We won't build, continue. And we're doing this because I'm going to set it back out, right? You're going to set this. This is in and out. So we're sending our transaction role back out. All right, and then we're coming back to the main and main also is said in our transaction. So if we come into here and just goto our invoke which bit which is invoked booking that we can see our transaction that, uh, it's set back to our transaction data and in our transaction item and said in our numbers said so this is in and out This is just out, and this is in and out, okay, It is kind of what is really important to understand how to in an ounce work. So if you're not clear on that, please feel free to send you an email or just go through the code until you feel comfortable. But now that we have all of our items set back out in our main and our main is the main application got our we've got our data dependent on not there was any more transactions. And now we want to come to our process trained transaction. And let's just say we've already did our processing and everything. The last step, which is the finally enough time, if you remember in the video we said that in our try catch the try is is going to try to vote. And if we've catching some kind of errors that we wanna catch those areas And if we have something said to the finally to finally will always run at the very end, whether this tries executed or whether we caught something and then this Finally, we're always execute whether or not it was successful or we called some kind of error. Okay, so now that we are setting process and we've already done that, the last thing you want to do was do our set transaction because we just got our Q items in our transaction items. Right? But now if we get our Goto our state transaction and if this is true and meaning the successful and we will have no these later. But for now, I just want to focus on the success. If we come here to our success and we got some items, then this right here will only occur if this transaction item is said to nothing, meaning that this right here is not nothing. Meaning we do have a transaction and type is a que item, which you will be because the very first time we grab our item from cue from the orchestrator reset inning as a Q. I might. When we come back here, it will say, Okay, we got a que item if it was successful and they want to set the status of that And we went over this in one of the earlier videos. And so now we said that going to come here and say if this is the very last transaction, meaning we've already gone through all of those transactions and we want to update this X Excel file with our final data table, All right? And if it's not, then we won't even go here. And this right here we will always execute. So every time we come to a transaction, we're gonna increment our transaction until this is the very last transaction. And this would occur. All right. What? This will execute. Sorry. So if this is the very last transaction and that would execute and then was this executes? Let's say we have two transactions in our excel, and this is equal to that. Like our number is two. We will update that at number two and then we'll come here and we'll increments are value. And so now our number will be three. That's too was the total. And so now if I transaction is greater than this, which we already said it was, too. And now I said three. That means we completed our transaction and we want to set our transaction on my back to one so that when we come here a transaction of his nose one and we can come back in to try to get our Q item, and then the process will go again. So if we get another cute and we'll do the same process, if not and we'll set our transaction and our data table to nothing and we'll exit out the process. No, there was a lot to grass. Um, just go through the code feel feel free to shoot me any emails that you have. Um, and I'm hoping that this was clear enough. One last thing that I would like to do is let's go into our process, and then I also want to run it so you can kind of see what's happening. Well, you can run. You could running on your own, but I want to come in here and do one thing and then you come running on your arm. Okay? What we're gonna do here is we're going to say, grab in a sign and we want a sign is going to sign this same bro. What a sign in the status column to something right? And the reason why it's just so that we can We're doing it. Just this right here. Just this process is not what's gonna look like in, but this will give you an idea of how this will work. Okay, so you want to say are in and out section doubted we don't have a transaction that Okay, so let's go in and grab our transaction data. Grab our transaction number just in case as well. So we got her. Items are going in and out. Transaction, Dad, In and out. This will be a data table. We're gonna ground our transaction number. You could just call the transaction. Or for now, if you want to change, you can Ideally, you want to see in and out transaction item and you want to say 32. I see it. So now we can see our in and out transaction data, the that rose, and we want to get the current transactions. Some say transaction number on this one. In that item, I said that what we want to grab column. So what this is saying is get the current role and then of this column and this column name is a status cover and we want to set this to value value would be success. And this is just so that we can show how, in the end, our excel will be set. So let's save this and let's do one more sign. You have our status. I believe we have our status. Variable. Just create another variable cost status in the same string. Sign it, Adam, and just copy it from here. It just come here and this type of thing that too straight. And you can print this out so you can see how it looks as well as we're going to update. If you remember, our Excel out of here on the last transaction, so really wouldn't even edge. We really didn't even have to do this last piece because we're already setting it here. Just this right here is the only thing that we really needed. This right here is if you want to print it out so you can come here and you can have a right line. Bring out all of the values you can say, company space number. Just a taker space. And you can say status. This will print out on out on output. But also, we're going to save our Excel file. So now we want to do is go to our outlook emails and then drag over to our input. Enough. Our voter Then run this loader so we can load are okay, orchestrator. Okay, so now we can minimize this. Come to our folder and again, you have to do none of this. I'm going to delete this. These fouls come inside and happy these files. Yeah. Reason again. Why I did that because they are smaller. So did you see what we're gonna do? Is these fouls here? We're going to update the status which success and only have two rows. For each of these five fouls, I make my main to run it. So I stopped the process and I noticed I had some errors. So if you have these same mirrors, you may need to do what I'm about to do the one thing is to come here. It will go to our get transaction data and we want to clear these values. Get item. An analysis farm can say that. Then the next thing we want to do is look at our, uh, arguments and make sure we have everything. Change his name to acute Cut. Just sort of Go have any Let's go to our get next item first. Before we do parables, she lets get rid of this item we only want to keep. This would be coming from our arguments. Should be. Think that was a problem there. We need to keep that as an argument and not as a variable. Now come back to our transaction data. You are in port now. We want to sit. Are que item que content. So basically, Woods, what was happening was we had our q item set to a a, uh, a variable, which was was no, it was not able to get any item opticals reference said to another. So it was not set. And that's because we had it said to a variable. What we wanted to do is have it said to an argument so that we can pass it in throughout each instant, Uh, each state of our process. That's just before we clear out. This is go to anything else to make sure there's nothing now. So what happened? So go to this and get our cute content at this. Let's go to our process. I think we have anything in there but transaction Dannon, which is our important to remember that of nature imports. Finally, let's simple of our cure que content. - Okay , that finished without any issues and we can go through and again, I'm sort of first transaction was true. A swap. Next one was our quarter. When was our Ford Motor swim? You can go through all of those. And then finally, we can come to our input files. We can notice that they've been updated. Hopefully. Yep. So we have success and go through. Rather was the city. But that is how you implement the safe or the update. Excel. Um, in the next tutorial, now that we have our save or update funk functionality set up whenever we're doing a process, it will make it much easier to goto our websites, scraped the data that we want and then update each roll just like we did here. We're gonna update the status with whatever status it is, and we're gonna update our our different columns. Now. Most likely, we may move our status until the very end, just because, um, that would make much, like a little bit more sense. But because we're updating our data rose in this process. So this is for each row or update in a row. So if we are were successfully able to go grab out of that data, then we want update the last columnist Well, and then that very, very in we can save this data table back out to our x x l. And if everything is successful, then we'll come to this and we'll get a status of success and our orchestrator straight ourself. We come here and fresh, we should see success. However, if we don't get a success and then there's some kind of business exception or system exception, then that would tell us inside of our orchestrator would get a fail or some kind of, you know, retried or some kind of status. Okay. And that I do it for this tutorial. How bad thing was clear. Be sure to give me an email Shuman email if you have any courses and look forward to seeing the next video. Thanks for watching. 72. 074: in this video. We're going to go ahead and get started with recording. We're creating our scrape SEC process as well as the scrape young process. And you can name these whatever you like, but those have names that I have. Children want to come here, start coming to sequence in select new sequence, and in select our folder and want to give this name, I'm gonna say scrape sec, and I'm going to say new. Yeah, make sure this is in the action. Told we should still have our, um, initialize applications turned off on. Let's just make sure that is true. Come here outside of our initialized application. Believe us inside of here. You're so cute. The process, then I believe, also inside of the initialized. Yeah. Here. This is where, uh I mean it out the initialized applications as well as to kill process. And we want to keep that for now until we finish building this out. And then we will connect those. Now. The first thing you want to do is if you didn't set up your chrome extension one of the earlier videos, then you can go back to that video and see how to do that. Chrome is what I'm going to use. You can use Internet Explorer if you like. I just like to use chrome because I just, like, throw better. So the first thing I want to do is just go to open browser. This will be temporary because we're not going to open up, arouse it here. We're gonna open a browser in initialized application. I just want to be able to create this and brother from here, as opposed to running from the entire main process. Some come here and I'm a choose crow. Then I'm going to create an argument, call you sec, and I could go ahead in in this. A default were a Defar. I believe this grand. Open this option. We have that open now. We want to give this also go to you know what? I'm not gonna pet that's inside of here. So instead of having this arguing, I'm going to have it as a variable because it's going to be something that temporarily use good and this country here. Just get this your ever put it in parentheses and course I'm sorry. Now we want to create some variables. Let's create our home age, and this will be a moving it would be as a global variable. And 10 que page. It is a company I found. I want to check to see if the company would be found. And we want to say is because the ticker is not cos I found that we want to use a ticket, right? So make sense and we go through. Now that we have done that, If we want to luncheon and running, I want you now grab our attention browser we want attached to that browser we want to check it from element exists When you come here you could just type element exists and say to So it's grown out Check for this here or any other element that you know while on exist on their age And what I like to do sometimes a lot is to check my selectors to make sure that this is valid. So let's give this in. Our travel was correct home page. And so now and so here we want to search for a flow chart in this decision. The first decision is to make sure that we're on the correct home page. I will say is correct. Home page. If so, we want to drag over and a sign and we can say search company. I'm sorry. That's the sun sequence. We can say search there. Let's do another decision. You can copy this one. Come here then. This one is. Was the company found to say actual space? It's company fell true. They want to do one sequence and we can actually called this search to Cuba. That's what we'll be doing. 10 key reports then if not well to do our ticker both. That way we can call this ticker particular. And then one more decision and we can say so. If the company is found is is found where we everyone started a company to companies found they were gonna searched a 10-K report from we're initial search. We're going to try to search by the company company name If it's found that we could go directly to the team report, if not they were going to travel to Tinker Tinker is found. Then we can call to this and not just in the process out of here. Well, let's go to the very, very beginning. Sure take changes to his ticker. Let's go inside of our company. We want to do a type into tight into means search this right here. So you someone gonna type inside of No, I want to give this argument. Create your arguments company. No need to company name, industry a ticker. Then we need a few out variables. And these these everything I'm doing can be found in your PDD. Just go through that, Have that open while you You think so. Out. Exact name. That's one of the things we're looking for. Is the exact name the out state No, we're getting from here and passing it back out. Then we have our e i number this close that now I want to say and company and I like to do a trail is to make sure everything is true and want to once we search that more to click this button. So should be in my recent I had a clear take clear. I like this and you go back to your select doing. You want to make sure it's valid and then we can do another element exist. We want to make sure we're on right pain to make to make sure that we did find something. So let's just try this for now. And by default, you can come to your excel. She and you can set the company name as a default. You in the ticker is a default bag. They no, just come back and we can run this. Go ahead and undo it for care. Because we'll have anything said you. - We need to make sure that we have said the chrome as what is this city If you're using cross any time you're your dinner with the brother and got to make sure that is said to crawling with this in doing attention or the open and close out Yahoo read it. Okay, so we got it to search, and it did not find anything using that name. So we know that sometimes our company names will not be found. Let's go here in search for the ticker, MME. Um, I just want to make sure that we get something that will be found. Now, the thing that I'm gonna use to make sure we find is this because we know that if we I already got rid of page, so we know that if the record is not found and there's a message, this is worker not found some today if it but there are records. Found it. We know that this right here will always be found. This will be always found. What? It would be different. So I'm gonna use something that's more static, and I'm gonna use this right here. Come back inside of your company, drag over element. Just come here and select to our selector. Sees red Click the validate or repair. And I think it will over time. And now it says it's foul. I believe the thing that it did was it made these takes more dynamic. All right, so now we know that it is a label, which is that with this volume is just That's a label we want to say it's company. Foul is our Come back here, Necdet to here. If a company is felt in our in our case, the company was not found. So is gonna come false. And so let's build build out our ticker. We do the same thing. Actually, we do the same exact thing in this. Copy this over. That's cool. We're going to copy everything over. Except this element exists. Here's Digger based when it chases to not to be true. And when I drag over another government exists. And the reason why I didn't want to use the other element exists. Because while development, I have noticed that sometimes when if I copied your element exists like if I copy on an element exists and in paces over the output whenever the first time you've runs the ultimate existence found Marshall, that's true, more false with her. And the next time it runs automatically defaulted to false. And I'm not sure why there was. Maybe it the variable wasn't being found, like I'm not really sure what happened. So I just found it easier to create. Adam exists as opposed to copying it from some rails. No coming here for the same thing like there hair. Now we can say you guys built around a Tinker founder. Okay? Okay. Now, if our ticker is by then, it was searched for If not, we can still kind of in a while as a best practice. What we would do is through and an exception right here with road exception on May do that in this video. Um, but we may not. I just know that for better For best practices, whenever you're trying, do do anything. If I records are not found, you could throw in the exception. So when it comes back to our main and they were trying to set the status, we are always have that exception that occurred like record, not found. That will be a business exception. In the case of, you know, we know that everything is found. We can come here, and what we're gonna do is we're going to do a type into filter out only 10 cues and type into. You can hard coach this in as a best practice. You may want to be used in different forms. So to make this more reusable, you could add it as available and then change it. If you really like for 10-Q 10-K or any of the other reports, you can change it before this example, we're already gonna do 10-Q So that's what we can't hard code now. I wanted to clear click on a search one. Let's go back here and make sure our selector is good in this. Not come back to this one. Assume that always works. And once 18 Get this. Now we're going to click on there. Once we click on there, we'll open it up. Another clear. We want to change this selector here. Let's repair it first. The Unless changed this here. Thank you. With Astra. Even know it says is not about it. This is about it. Before once we click on this will open and this is what we're fine. So now we can do a get full text. The reason why we're gonna news to get four ticks. Because just in case, if this screen was longer wanted me to get the variables that or not only seen, I'm going to come here and we're going to say, Get for text, Want to get the name of the company? Let's make it dynamic. By repairing output, our company me out. Exactly. Do another or the state. This is state. So in the last one will be for the e I and we're gonna do was doing right. We can say the name. So I'm doing another video, Dan, baby. And once that's done, I want you to go back, so no go. So we'll go back to previous page, which will allows to come here. Go home. So now I want to say I live in exist, and we're going to search for this. We could name this as our family that we have 10 keep age obeyed arsenic there. Okay, Do it if statement 10-Q page or to click home. And again, If not, it doesn't exist. And you just throw era so that part can kind of start over. Okay, so let's give this truck. Think that's everything, right? Okay. Close your browser. Running from great sec looks You found Okay, I'm wondering, was it bring any value? Give me false. Mean? It's not with his falls. She would come here. - Start up here Is worth breaking? Yeah. Supposed to go back. That's what I'm missing. I don't even go back. Click here. I need this. You're so now what? Some back makes use. - Okay . Got our values back. Company. And that is how we're gonna set up our straight sec in the next video. Straight. Yeah. Thanks for watching reported seeing the next video 73. 075: Okay. So straight. Yeah. Who's gonna be very similar to scrape SEC effects? Nearly got on. I'm going to some of the same games saying Come, I'm gonna grab our open browser search for browser. You must going rapid attach. And we can say that website is finally I'm using home. So immature now change it here as well as changes here. Now I want to attach to this queen to bring yeah, it side of here. If you don't exist, I want to search for this one. Go ahead and make sure everything is valid. Then we're going to do our flow chart and sound of here Won't do our decision. Come in and create some of the same I want to say is you can say is only, do you want to say morning? Then it's for the arguments were going to create good, uh, ps again. You could get all of this from a word document. Oh, no are out. Look, year, do you? I don't believe that is in the process. Okay, so now we want to say is company Army is correct. Home page. Uh, I want to say if true, if this is true they want to come and ground sequence again. We can call this search company inside of our search. We want to again to a type into it was in company. True. You want to do a click, click the button. Then we want to say, you know, if element exists, go ahead and type something. Just pick in one of them. For now. Want to search for one of these Are going to use a statistic summary first in this also looking. That's why we don't have space. Let's make sure this is value. Let's go back to home base. Check. It is valid. Okay. Any one of these? That's this. Do one that we know. We're going to search warmers three company. I'm saying this is it's company can copy this top change this to this company phone. And if not, they want to search again. Or secrets. And if so, you wanna can say search metrics extract something today it would be true. Companies found voters strike the data. No, I want to search ticker. I was going to be now Tigger is found. You want to say this is good? So I take it was found? Yes, and again, if not get go inside of our stars taker. I wonder the same thing. I wanted to make sure this time you won't go back. It goes on any other page but size one the other way looking for We just want to go back to the home page. They want to do what type into I want to say in not true do from home make. And then another element exists. Go back to hers and like here in recent years and come back to okay. Is it malady? It's not about Perry. Prepare and Tiggers found a mortar strike to death on this page. Very first. Anyone just get our values from here. So we get, get full text. You are they? Let's make sure this is Harry. It was good for two GPS. Yes, malady. And now we're going to do another clear. Do you wanna come to our work statistics and is these? And get for ticks? Get our remained items which are to you. Got it. Get on Enterprise value first. No, Priceline parents next is priced to move Priced. Getting next is equity. No parents in the last one is while you do? Yeah, And like I use as was do a clean to go home. If it's felt okay. Now we want to say it doesn't matter what order. - Let's give this a run. - So by default to No, you have to put this. Oh, so I've been to that. Remember, to give our I use as arguments company name and take it their use. - Okay , We have our values. And now we have a vote. The bar Zama was complete in the next video. Want to do is running from the main application. And then finally, we're going to update our values inside of our excel. Oh, this was clear. If you have any questions, feel free to reach out to me. Thanks for watching. 74. 076: this video. We want to go ahead and open up our kill process in the process that we want to actually kill. Gonna be crow again. If you will be rightly called a task manager. We can see the process and we have a lot of chrome open. So it's cute chrome and then go to our clothes Yahoo, close sec and wanted actually reading. Redo these. Let's believe this. And delete this or the Yahoo for isco Too young. Make that active page Come back to our you are recorder. Then come here and say close browser and double escape and save. Now we have this. Go, Teoh, Open Back up. A single come here. Do the same way browsing they now we have nose and if we run this, we should get it to open and close. - And inside of you got to make sure that we're actually calling close replication. So in a booth, there's now this free running. All right, Thanks for watching. See you next Video 75. 077: Okay, So in this video, we're going to update our excel with the data that great grab back from our straight sec and scrape yahoo. But before we begin, what I want to do is come to scrape sec and I just want o make make you aware of some change one change that I made. And it is too. 10-Q report. Though inside of here I noticed that someone of records they don't always in with 10 cute, but they do in with dot html. And if we know that we're already on the 10 cubed and everything will be in html and it will select that 1st 1 was the correct one. So just make that change. And of course, as you're going through this, this is not a production ready, but so there will be a lot of there. There may be other changes or other bugs that you may have to fix, but as an overview of how to be able to. But I think this is a very, very good start and you will get to see how to do about in and in some of the nuances of creating box. You just learn as you dig into the code with that said, Let's come to our process and open that up and let's go ahead and create a few few. There are arguments that will need starting from the first argument we're going to get our out. Exactly. This will be an out in and out, out, and we should already have our company name our company. And our tech ticker is here, and we have those as variable. So that's pretty good. We can can keep that as it is. And then we want to once we go to Yahoo, gonna say out Yes. Oh p to be out Okay, No surprise you out. Return on equity and out five years and let's go ahead and say that. Now let's grab our invoke need to The very first folks we need to do is invoked sec in the next one is Yeah, we can go ahead and think import those arguments. This will be our company. This will be our ticker br state, and something was from what? Let's go important. Our next and so on happening again. That ticket out, out ps out after turning 30 about five years and out in a prospect. Now I want groupies in sequences. Very 1st 4 We want to create an a sign you want to do. Just like you signed the status. Not this one. This Let's hope enough our exit and we know that we have are exactly that 1st 1 reading. Yes, it is. So we need to get our exactement. We can name these two, then go inside of here, paste this in a column for Rio Song. We want to say this is gonna be out. Exactly. You would do the same thing for this next one. Which is? The jury sticks a state or jurisdiction. We come in here. Hey, Carsten, that would have got it was too much to a company. This is the state. This is that he are you. And wait. Just go ahead and grab another singles on anything. Copy this year. Now we can change this to then changed this Very you two out. So now what? Import our values. Great. We know we have six values. Three Jimmy six And if we can do whichever one more, it doesn't really matter. It's going to save people in the years This really is enterprise. You Oh, miss. This is action enterprise value. Then this one is found here. Okay, so just to make sure we have everything. So we have our people GPS book to price to both eternal equity in the president in five year. And we already said this one. No. So, very 1st 1 is our people. It isn't a column that we're gonna be looking for anyone just saving less out. Next one is PPS PS price to book. So we're going to skip over, so all right. I realized I just realized I spill turned well. I spill return every true. Now move on equity. Okay, You could change it if you are. And I did it for So Okay, so this is enterprise value. Come back here. Definitely here. That's one. Here's five year. And so now we This is what we're doing. We have our company. They were signing a ticker, and then here You just assigning success to our success color, and they are going to go in and get these values from our sex scene. And it's something to their columns. They do same young and something. Their columns, then this right here is not really needed, but we have work assigning to the status bad available. Our column status do just updated. They were writing everything to the line, and that should be, um, I don't think there's anything else that you need to do. Let's give this one more thing I would like to do is to come to our scrape sec. And I would like to put this because this is gonna be the book off our issues on this page because this here is Htoo Htoo Page. And so the elements are a little bit different now. There's a way that you can create that you can't make this more or bus as opposed to just trying to get the full text from the element. You could scrape the whole page and then do stream minute relational page by splitting each role of that page and then get the values on that road and then only getting value. If it's a certain it has a certain Lately, we want to start by grabbing over our Helaman exists. Let's first go to our company. Click on this, open this and they go to the first element exists and lives. You are selector again. If there's anything that but now we're going to say this will be Give us a new name, see if exact name is a Zechner. Now, get in. If and then we can drag all of this information inside of that up to Yeah, if there's exist, then we want to get this information. And regardless we want, always go back. All right, The one thing that we want to put inside of this, if is values that we're gonna be extracted and how save it and also make sure, All right, so what I'm gonna do is come to our project and open a park traffic foul. And I'm personally gonna change my reacher because I'm having some issues with my computer born really, really slow. And the more times you re tries, it just takes a lot of time. I want to set mine to zero. No one to save you. I'm going to give this. We can see this last record seems to have. And of course, my computer just takes a bit longer. But is Gordon process example setting this as a fair you and then going to the next record once it feels it senses as a failure, and then it initialize is all of Windows and applications again. And if we can see this is where we fail that. And then we stopped the process. It took a screenshot and closed application and open applications game and tried to do the get process. But there were no more transactions and someone closed. And and that is how this works. And one thing if you notice that once it tried to do that Excel, what you can do is if you remember. I mean, I just changed my Greek my retracted to zero. If you said shows in 12 or something like that, it will continue to retrial. That same transaction entered the people going over and over and over to the completes it so that some things you can think about for Mel, this is a pretty good start for a body. Of course, it's not production ready, but this is pretty much getting ready for the testing phase. We can go through and we can make some more modifications to it. We can make it reusable. We could make it more or less by drawing our our errors as way we discussed earlier whenever we were in our SEC or our screen Yahoo if we can throw an error here. So for example, if there this is not the correct home page, we can throw whatever here we can come here inside of here. There's parts when we get through in air arm or we could just keep all along through will make this a really, really, you know, bus. But for this purpose is for this video course. I just wanted to give you a good example of how to create an R P A. Bosch and using the best practices and using the yuan had to reform intended. And this is a really, really good start. So you can take this and you can build involved and she can dig into cold and kind of understand for yourself. What are some things that you can do differently and some things that's our that's already done, that you can even further clarify your understanding. This is it for this course. I want to thank you for watching over Thank you for taking in town to go through code me. If you have any questions, please feel free to reach out to me sending email or use him on website. If you were, like for me to look at your cold and give you a critique on it off, please feel free to reach out to. And I won't leave you with one challenge. I would like for you to take this cold a little bit further and make this testing ready. If your member and previous earlier videos off this face here we're in is development phase . And then the next phases testing, which is the U. N. Team, stands for user user acceptance testing. Now, I want you to take this cold and modify the screen. Scrape scrape sec in the screen, yang, and make those two processes resembles Make them test ready and then send me those and I will give you a great I will give you feedback home some things. I think you did really good at some things. I think you can prove a bone and some things that I will do. Okay, thanks for watching. And please check out my next video. I will be discussing another course that I have. It's titled R P A with Blue Prison. You're interested in prison Please feel free to send me an email or to go to my website, and you can sign up for the newsletter off when that course will be completely again. Thank you for watching singing the next course. 76. Thankyou: I I would like to personally thank you for making it all the way to the end of this video. This has been a journey, but I'm hoping that you have learned a lot about our p A and specifically you are Pat. If you have any questions, please feel free to reach out to me. My email is below. You can also look me up on my website. And I have another r p A course using Blue Prism. And if you're interested in that, please send me an email and just mentioned that you're interested in the blue prism course or go to my website and you can sign up for the course there again. Happy coding. Look forward to seeing the next video. Thanks.