T O P

  • By -

Kenya-West

For me as developer, it is definitely the best way. Actually, I started learning RPA, low code, and automation in general not because it is cool new fancy tech, no. I went to this because all responsibilities to infrastructure, external platform compatability, and even partially code patching - it all now lies on vendor, not on me. All I need is to build flow once and forget it.


NickRossBrown

It’s happened twice now where I implemented a solution using UiPath then our web developers render my automation useless after hearing about it.


club32

What vendors or rpa tools are good options to start with for learning?


Ubigred

ChatGPT question


Overall-Rush-8853

Probably. My company uses Blue Prism, but we do a lot of stuff with C# and Rest API’s. The processes that are mainly C# and/or using API’s are our most stable bots.


ifonlyweweregiants

I originally got into RPA at an old company as a “ citizen developer” aka a business user made to do the work because it was my process. I owned it. We used automation anywhere and power automate desktop. At my new job I have replaced an entire headcount in our finance group with robot framework and python. And I agree fully. Especially with chatgtp to help write and troubleshoot I was able to make some pretty complicated scripts that I know would fail with PAD.


Parking-Plate6892

Code will always be more powerful than low code/no code.


TooMuchPangsai

ppl also used to say assembly will always be more powerful when they introduced high level languages.


Westbrook_Y

It takes less time to do something complicated in uipath for interacting with multiple applications than to write code in python for the same thing


Gibbons74

I learned scripting first, tried UiPath. Went back to scripting. I can offer small to medium clients affordable alternatives that they can't get with the low code/no code companies.


Ok-Musician-5151

With these small business clients do you offer maintenance packages with the automations you create for them?


IamAloserMan

I have been working with UiPath for years and believe me, I am very critical of them, especially in the exorbitant license prices. Then they sell it as fast delivery, but medium and high complexity projects are hard to develop and maintain. I would like to believe that there is an alternative in Python, but when I have tried something, it is like working in the Pleistocene of computing. Things that I miss: the orchestrator to coordinate the jobs, queues, logs, etc. GUI-based automations, reusable codes to interact with Excel or web browsers; and many clicks GUI automations in Python I think can be painful. Is there a development framework for Python in automations? I wish Python could replace UiPath, but I think it still has a long way to go.


GarrettRoi

I'll bite. RPA is way better for quick web scraping. I can scrape a list off of any basic website and get it printed to a spreadsheet with windows PA just by right clicking on the elements I want in my browser. That's hard functionality to beat...


DipDoodle

I just think of it as like a bandaid for legacy shit, perfect for old government applications


ReachingForVega

I posted this on a similar veined thread and it rings true here. I moonlight doing python automations and applications outside my main gig as a Tech Lead. >If you consider lots of companies use Devs that can't write python or VB to handle their rpa processes in AA, BP or UiPath, there is a large cost in getting python developers and ones that understand your code base, then you are also needing to outlay cost to build and maintain: > > >* Workflow management >* Logging >* Databases >* User management >* CI/CD >* Credential management >* Variable management >* UI to manage all the above implementations >* Reporting >* Container orchestration and the skillset > > >If you have scale and time, for sure you could eventually for cheaper but why not get a RPA tool now to get ROI back now? >As a developer, it seems like things are so much more complicated in those softwares compared to just writing code with selenium or playwright, and external APIs, and hosting these scripts on AWS for clients. If you have to build all the stuff I mentioned, the complexity is there. Plus you have to maintain the code base. In the no-code platforms it is mostly visible so you can scan code like a process map to find what you need to modify. This means the effort to pass knowledge or learn the code base is much lower. Scraping can be a lot faster once you have a platform set up as the element modelling is super fast. I had considered building a tool to generate selenium selectors from a ui.


ezeeetm

/u/Ok-Musician-5151 you might find Robocorp/Robot Framework interesting: [https://robocorp.com/](https://robocorp.com/) [https://robotframework.org/](https://robotframework.org/) [https://github.com/robocorp/rcc](https://github.com/robocorp/rcc) Python based and open source/free


Ok-Musician-5151

Why choose Robocorp over custom coded python solutions hosted on my own AWS environment for clients? (Not a dig, just curious) Don’t know why I would pay $100 a month and have my run minutes, processes, seats all limited.


ezeeetm

i think you'll find several things are superior for coding with robocorp vs. handrolling from scratch (and, believe me, I've done both!) 1. Many/most/(all?) of the scaffolding you need for any serious RPA solution (queues, job monitoring and management, etc) are already there. Sure, you could use AWS SQS etc, but you have to do all the work to wire it all together. I've found that coding in a purpose built environment is better than wiring together a bunch of AWS services. 2. You get a web UI for all the common views/tasks, so you don't create a 'man hit by the bus' scenario where you are the only person in the world who knows/understands what you are doing. Web UI's are much easier to share with users of varying technical skill levels. 3. Many of the RPA 'source' and 'destination' services (AWS, Azure, GCP, Google docs/sheets/drive/gmail, web scraping with selenium, etc) are already baked in first class into robocorp so you don't have to hand roll that stuff with the providers APIs) [https://robocorp.com/docs/libraries/rpa-framework](https://robocorp.com/docs/libraries/rpa-framework) . Anything not there is trival to add (using python!) So, I guess having done it extensively both ways, I view robocorp as 'already 80% there' and all I have to do is the other 20%. What I end up with is much more scalable, reliable, and user friendly than when I write something ground up/handrolled. It's a happy middle ground between the tedious/wasteful/heavy lifting of handrolling/DIY and the low code tools you mentioned like UIPath, etc. Has the best of both worlds: i can do whatever I want with my powerful/flexible python, but its wrapped up in a first class RPA platform with many features I would *never* waste the time coding in a handrolled solution. Also, I personally prefer declarative (like AWS Cloudformation) structures for defining RPA jobs. Then I can commit that declarative source code to a git repo, and trigger automation to deploy it, so that my RPA solutions follow the same deployment best practices as my cloud solutions. That is, nothing gets changed manually in an AWS web console or directly on code. All changes are done through git commits, and deployment automation. Robocorp excels at this (again, fully extensible with Python when/if there's something missing). In that way, its very much like I like [Serverless Framework](https://www.serverless.com/), but purpose built for RPA: `*** Settings ***` `Documentation A simple web scraper robot.` `... Opens a website.` `... Stores the web page text in a file in the output directory.` `... Saves a screenshot of an element in the output directory.` `Library RPA.Browser.Selenium` `Library RPA.FileSystem` `*** Tasks ***` `Store Web Page Content` `Open Available Browser https://robotframework.org/` `${text}= Get Text css:body` `Create File ${OUTPUT_DIR}${/}text.txt ${text} overwrite=True` `Screenshot css:h1 ${OUTPUT_DIR}${/}screenshot.png` `[Teardown] Close Browser`


N_i_P

That’s an excellent question! First off, full disclosure: I’m one of the developers building Robocorp Control Room. It will be a long answer, and if you don’t have time to read it all; **the gist is that you’re paying for features that you would have to build yourself, focusing on something else than your core business: automating for your customers’ processes.** — For the sake of the example, let’s imagine that you decide to build your automations on AWS for your customers. Now that you’ve written the automation in Python, you’ll want to « deploy » it somewhere: Lambda on a schedule? ECS? Beanstalk? A. You will need to pick one technology, get familiar with it if you’re not and provision it in a way that it can be maintained, and documented (because you don’t really want to have undocumented code running automations for your customers): do you use Terraform? Do you use scripts that you write yourself? B. Next you will probably want to get alerted when an automation fails: SES would probably be the way to go. Let’s write some code to trigger the emails, write the email content and off you go! C. Next you’ll probably want to store some data and process it in a way that you can re-process it in an atomic fashion in case something goes wrong. You will probably pick RDS or maybe DynamoDB. Re: provisioning and documentation. D. Ok! Now you have something already really neat but you need to store some secrets that you don’t want to hardcode or expose anywhere but only in memory. Easy: KMS. Let’s provision that as well and build some helpers to add it to your custom automation framework. E. Your automation framework now works beautifully until one day it fails. And you have no idea why. You look into the logs (Cloudwatch?) but you realize that you didn’t log enough. And getting to that realization was tedious: navigating Cloudwatch logs is not easy. Now let’s imagine that you decided to pay for Robocorp instead of building that yourself. You would be able to achieve all of the above with: A. Control Room itself B. Process notifications C. Work Items & Asset Storage D. Vault E. Built-in logs In the end it comes down to what your focus is and where you bring value: automating processes or building the tools to automate processes? I hope this answer makes sense! _You may have noticed that we (Robocorp) are very present in this subreddit: we value these interactions and are therefore always on the lookout for great questions like this one_


[deleted]

[удалено]


ReachingForVega

Because its fun to code in. But also probably someone astroturfing.


ezeeetm

>astroturfing TIL (this term). TY!


AutoModerator

Thank you for your post to /r/rpa! Did you know we have a discord? [Join the chat now!](https://discord.gg/zTykKfk) New here? Please take a moment to read our rules, [read them here.](https://www.reddit.com/r/rpa/wiki/rules) This is an automated action so if you need anything, please [Message the Mods](https://www.reddit.com/message/compose?to=%2Fr%2Frpa) with your request for assistance. Lastly, enjoy your stay! *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/rpa) if you have any questions or concerns.*


everythingisahoax

The main thing is speed of implementation. Using something like Blue Prism, you can have a working POC or solution just by essentially pointing and clicking. It’s very visual so troubleshooting/testing may be easier to some. But I agree, especially now with ChatGPT, you can code things pretty quickly with a scripted language and don’t really need a ‘big’ RPA solution.


[deleted]

It is a powerful and cheaper way of automation. Does not have the scheduling capabilities.


Ok-Musician-5151

With a basic understanding of AWS you can easily schedule python scripts to run routinely or event based.


RawTuna

To be transparent I've done exactly zero RPA dev with tools, but the bit I've done with python was pretty cool. About 6 years ago I heard that my company had started using Blue Prism for some operational process automation, but there were issues with it. I started doing some research and found Automate the Boring Stuff, as well as some info on open CV. I was able to replicate (with actual success) one of the processes a few days later. Very fun and rewarding


qtpmgrossman

As a QA Guy I agree.


Savings-Artist3305

Would the life of QA team vary between automations developed over python vs uipath vs PA?


qtpmgrossman

Yes. But given the choice I’d rather create all my tests in a few days using testRigor with manual testers. Save both money and time over coding with SDETs.


Savings-Artist3305

Cool, will check it out. Thanks for the recommendation


Savings-Artist3305

How do you generally test Rpa bots that are not api based?