I'm a speech therapist who does teletherapy. I routinely fill out a lot of web forms. I've already created one automation that will save me time, and I have ideas for several more automations. Thank you so much for making this!
Oh man, this makes me super happy to hear. Enjoy, and feel free to reach out either by email (support@browserflow.app) or on the Discord if you need any help with your automations!
Interesting.. are you learning/using programming as part of your work or for your own interests? If not, I'm curious what value you feel you get from Hacker News; I know a lot of non-programming topics get discussed here, I just typically assume the audience here skews more towards people working in technology/software-related fields.
I tried teaching myself programming at one point, but it didn't really "click" for me. I browse HN for the non-programming topics. I steer around the "built with Rust" posts (and other programming motifs).
The value I get from Hacker News is the aggregation of interesting web content, good discussion, and learning about new apps like this one :)
The main thing I want to do with this extension is to speed up my documentation process. For every therapy session, I have to fill out a web form that details what happened during the session, including subjective info and objective data regarding the therapy goals. I already record the data in a Google Sheet, and it would be great to have a one-click solution to transfer that into the web form!
Right now, I have an automation for updating Zoom meeting info, and one that fills out the web form with standard info I include for nearly every session.
As a web scraper, I'll say that because he is hooking into the browser like a debugger / remotely controlled browser, just like Puppeteer would - he is instantly detected by the Cloudflare, PerimeterX, Datadome bot management solutions; and will get consistently banned on his page reload for literally any site caring about bots.
He'd be better off running some javascript on the page instead (a-la Tampermonkey, but can be done really nicely with some server-served TypeScript) to scrape the pages stealthily and perform actions.
This is not true, run playwright/puppeteer with puppeteer-stealth + headful + plugins + fonts + OpenGL fingerprinting workarounds and you’ll still 100% be caught by PerimeterX and Datadome if the site’s sensitivity is set to anything but “Low”.
Talk with berstend (author of puppeteer-extra/stealth), join their Discord or read some of his Github comments and you will quickly get confirmation that none of those methods are good enough in 2021 (even with residential proxies or CGNAT 5G proxies).
This is simply not accurate, and you can easily test the claim. Just try running Browserflow on the sites you're thinking of and you can see for yourself whether it's instantly banned or not.
Can confirm, as someone who spent 2 years building software to beat recaptchas/bot management. I literally told DK that there was no way that Browserflow could solve the problems I spent years fighting against. I was wrong... it was humbling.
The easiest approach is be to use an extension like Tampermonkey, which can load (and reload) “scripts” from a web server. There are a few project templates on GitHub with Typescript+WebPack (e.g. https://github.com/xiaomingTang/template-ts-tampermonkey).
You can automate with any of your favorite Typescript libs, from the comfort of your IDE, with hot reload included.. Pretty nifty, and projects can quickly get pretty big that way! I usually have one “script” that has broad permissions (e.g. all sites) with some form of router at the root of the code that branches to the different sites to evaluate.
Congrats, the demos look awesome! Having struggled with something like this in the past (for automated testing) I am always curious about how various solutions represent the "program" so its long term repeatable?
I often had to manually add branching on certain conditions (i.e login) or waiting for certain conditions (elements appearing) before proceeding.
I also often had to manually tweak selectors and even matches on html structurally (css selectors cannot select a parent element based on a matching content element).
Then there are the webpacked react sites that scramble css class names that change all the time.
Some of these things are super tedious to solve for even manually so I am just curious how no-code tools handle these?
Browserflow is more low-code than it is no-code since it has support for control flow statements like "If", "Else", etc. as well as being able to execute arbitrary Javascript on the page. The no-code approach of simply recording a flow works fine in many cases, but there are a lot of escape hatches if the flexibility is needed (e.g. waiting for an element to appear).
DK, congrats on the launch. You are onto something with data extraction. I like that you allow to correct the selectors, so that the data can be extracted more accurately, and typing.
I found the UI slight challenging because of a popup window that opens. Resizing is tricky. Overlay would make is so much easier.
Our team at Bardeen.ai has built a workflow automation tool. We also have a scraper to extract data. But our full automation engine (similar to Zapier/Integromat) allows to tap into the full power of web apps. Like creating a new Google Sheet / Airtable / Notion with the scraped data and then triggering follow up actions.
Thanks Renat! Bardeen looks slick and your team clearly put a ton of work into those integrations. Good stuff!
Not sure what you're referring to with the "input" action, but there's a "Loop Spreadsheet Rows" command that will let you perform a set of actions per row in a spreadsheet.
Bardeen looks super look, we are also building something very similar but very much focused on Web Automation, you can build cross platform automations on TexAu - https://texau.app
I’m thinking we should integrate with Bardeen and it will be open up so many more possibilities
About 14 years ago, I fell in love with programming because it made me feel like a magician. I'd type in some incantations, click "Run", and voila! My lightning-powered thinking rock would do exactly as I commanded — in my case, make a virtual robot named Karel move around the screen in my computer science lab.
Nowadays, casting spells requires a bit more work. Most of our work happens inside complex web apps that each have their own custom spell books (APIs) — assuming they even provide one at all.
Let's take a task like managing your social media accounts. Suppose you want to reset your Twitter account and start from scratch. First step: Unfollow everyone. The problem is that you have hundreds of accounts to unfollow, and you don't exactly want to sit there all day clicking buttons.
If you're not a programmer, your options are limited to what others have built. You can hand over your credentials to all kinds of third-party apps and extensions in the hopes of finding one that works. Good luck.
If you're a programmer, you have more options. You have the power to cast spells. What if we used the official API?
You can sign up for a developer account, get an API key, download a client library, read about how OAuth works for the hundredth time, and then start digging through the API to find out how to complete your task.
That sounds tedious and creating a developer account for a one-off task feels like overkill. What if we simulated user actions in the browser instead?
You can install Selenium/Puppeteer/Playwright, read through its documentation to learn how to navigate and click, open the web inspector to figure out the right CSS selectors, run into some race condition where the elements aren't loading in time, sprinkle in some waits, and puzzle over how to handle elements being added from the infinite scrolling list.
That doesn't sounds too great either. Maybe it'd be faster to manually click those buttons after all...
I built Browserflow to automate tasks like this where people end up wasting time doing what computers do better. I wanted a tool that makes it easy for anyone, regardless of their technical background, to automate any task on any website. It includes the convenience of features like automatically generating automation steps by recording your actions while having the flexibility of letting you tweak anything manually or write custom Javascript. (If you want to see how simple it is to automate the Twitter task above using Browserflow, here's the demo: https://www.youtube.com/watch?v=UnsGTpcA-98)
Building a browser automation tool from scratch and making it robust enough to handle all kinds of websites took much, much longer than I expected. After working on it as a solo developer for 1.5 years, I'm super excited to finally share this with you all. Whether you're a professional developer or a non-technical marketer, I hope Browserflow will make you feel like a magician on the Web.
Feedback: The on-boarding workflow is so, so good. So pleasant and well thought out. Hard to believe this is the launch... I'd expect folks to go through many iterations of it and not get to something like this. Really, really well done.
Whenever I see extensions like this, it does make me wonder something which I've never fully understood: Given that so much of it runs client-side, what's the state of the art nowadays in terms of preventing someone from essentially "stealing" your extension. I've come across some extensions in the past -- even ones that were paid for and part of a business -- where it was clear that it would've been trivial to simply copy the extension code and run it on my own. How do you prevent folks from doing that?
Oh, don't be fooled — many of my friends have had to go through much worse onboarding experiences to get to what it is right now. ;) Appreciate the kind words!
The two pieces that make it harder for someone to simply copy the extension code and run it themselves is (1) Javascript minification and (2) parts that talk to a server.
Someone can try to reverse engineer the calls to a server and run their own, but that's often more work than most people are willing to go through and it's made harder by the client code being minified.
I wish it were possible to open source extensions without running into this problem because I like sharing things I've built (https://github.com/dkthehuman/), but doing so effectively kills the possibility of building a business on top of it unless you maintain two code bases (one free and one paid) at which point it's more trouble than it's worth IMO.
This is a really excellent sales pitch, you answered all my “why not just” questions upfront. The video makes this look very smooth to use, excited to try it out next time I have a need.
Jon, what's the main pain or goal with capturing a screenshot for every page that you visit?
It's tricky to do on your machine, so that performance doesn't suffer. At the end of the day, all full-page PDF generators would have to scroll to the end of the page, which would make it really tough for you to browse around.
A solution to this would be to just capture the URLs that you visit, and then do the screenshot generation in the cloud. The limitation is that none of your websites with logins would get captured.
Local storage is another issue for Chrome Extensions. There is a limit to how much data that can be stored.
You could also do most of this (except adding the screenshot to a folder, but you can get it via api if you need) and more with our free plan - https://www.rainforestqa.com/
The value I get from Hacker News is the aggregation of interesting web content, good discussion, and learning about new apps like this one :)
And DK: I didn't see it immediately - does an affiliate program for solution architects sound right / in the roadmap?
Right now, I have an automation for updating Zoom meeting info, and one that fills out the web form with standard info I include for nearly every session.
"CoScripter" (2007) <https://blog.mozilla.org/labs/2007/09/coscripter/>
"IBM Automates Firefox With CoScripter" (2007) <https://www.informationweek.com/software/ibm-automates-firef...>
"Your personal assistant on the Web" (2010) <https://www.ibm.com/blogs/research/2010/10/your-personal-ass...>
"Koala: Capture, Share, Automate, Personalize Business Processes on the Web" (2007) <https://ofb.net/~tlau/research/papers/koala-chi07.pdf>
"CoScripter: Sharing ‘How-to’ Knowledge in the Enterprise" (2007) <https://ofb.net/~tlau/research/papers/leshed-group07.pdf>
"Here’s What I Did: Sharing and Reusing Web Activity with ActionShot" (2010) <https://ofb.net/~tlau/research/papers/p723-li.pdf>
Demo: <https://www.youtube.com/watch?v=lKIex_XAxWw>
Source code (bitrotted, of course): <https://github.com/jeffnichols-ibm/coscripter-extension>
https://apify.com/ (YC F1)
https://automatio.co/
https://axiom.ai/ (YC W21)
https://extension.dev/
https://www.progress.com/imacros
https://trysmartcuts.com (YC W21)
https://ui.vision/
https://wildfire.ai/
3 of these are YC companies. Reminds me of mixpanel vs segment vs amplitude, where YC are backing all the horses.
Each company is different in its particular approach and niche, though. This is inevitable with any large, or potentially large market.
Disclaimer: Co-founder of axiom.ai
https://www.progress.com/imacros
https://en.wikipedia.org/wiki/IMacros
He'd be better off running some javascript on the page instead (a-la Tampermonkey, but can be done really nicely with some server-served TypeScript) to scrape the pages stealthily and perform actions.
Most anti-Puppeteer tech analyzes the state of various browser Javascript objects, and if you run Puppeteer in headful mode with plugins like https://www.npmjs.com/package/puppeteer-extra-plugin-stealth you'll bypass most detection.
Talk with berstend (author of puppeteer-extra/stealth), join their Discord or read some of his Github comments and you will quickly get confirmation that none of those methods are good enough in 2021 (even with residential proxies or CGNAT 5G proxies).
is enough to pass all the tests above with cuprite (Ruby), without needing any extra plugins
1. By sharing authentication cookies they provide full control over their personal account
2. By using this automation they often violate Terms of Services and may be banned.
I bought the pro version of a great scanning application years ago, only to have it eventually become malware as it exchanged hands over and over.
I often had to manually add branching on certain conditions (i.e login) or waiting for certain conditions (elements appearing) before proceeding.
I also often had to manually tweak selectors and even matches on html structurally (css selectors cannot select a parent element based on a matching content element).
Then there are the webpacked react sites that scramble css class names that change all the time.
Some of these things are super tedious to solve for even manually so I am just curious how no-code tools handle these?
There's also support for a few unofficial pseudo-selectors (:contains and :has — see https://docs.browserflow.app/guides/selectors#writing-your-o...) to make selecting elements more reliable.
Hope that helps! Agreed that creating reliable automations for the Web is challenging and hopefully Browserflow will make it easier for many folks.
I found the UI slight challenging because of a popup window that opens. Resizing is tricky. Overlay would make is so much easier.
Our team at Bardeen.ai has built a workflow automation tool. We also have a scraper to extract data. But our full automation engine (similar to Zapier/Integromat) allows to tap into the full power of web apps. Like creating a new Google Sheet / Airtable / Notion with the scraped data and then triggering follow up actions.
If you are curious, here is a “live build” that I did for the Twitter --> Airtable use case. https://www.bardeen.ai/posts/scrape-twitter
Jon mentioned in the other thread automated screenshots. We get screenshots of all of our dashboards from Google Analytics + Posthog sent to our Slack daily. https://www.bardeen.ai/playbooks/send-website-screenshots-in...
Either way, great job there! Love seeing new automation projects pop up.
P.S. - I saw there is an “input” action. Can I feed your automation tool a spreadsheet of data and have it fill out form? (one per row)
Not sure what you're referring to with the "input" action, but there's a "Loop Spreadsheet Rows" command that will let you perform a set of actions per row in a spreadsheet.
Bardeen looks super look, we are also building something very similar but very much focused on Web Automation, you can build cross platform automations on TexAu - https://texau.app
I’m thinking we should integrate with Bardeen and it will be open up so many more possibilities
~ Vikesh
About 14 years ago, I fell in love with programming because it made me feel like a magician. I'd type in some incantations, click "Run", and voila! My lightning-powered thinking rock would do exactly as I commanded — in my case, make a virtual robot named Karel move around the screen in my computer science lab.
Nowadays, casting spells requires a bit more work. Most of our work happens inside complex web apps that each have their own custom spell books (APIs) — assuming they even provide one at all.
Let's take a task like managing your social media accounts. Suppose you want to reset your Twitter account and start from scratch. First step: Unfollow everyone. The problem is that you have hundreds of accounts to unfollow, and you don't exactly want to sit there all day clicking buttons.
If you're not a programmer, your options are limited to what others have built. You can hand over your credentials to all kinds of third-party apps and extensions in the hopes of finding one that works. Good luck.
If you're a programmer, you have more options. You have the power to cast spells. What if we used the official API?
You can sign up for a developer account, get an API key, download a client library, read about how OAuth works for the hundredth time, and then start digging through the API to find out how to complete your task.
That sounds tedious and creating a developer account for a one-off task feels like overkill. What if we simulated user actions in the browser instead?
You can install Selenium/Puppeteer/Playwright, read through its documentation to learn how to navigate and click, open the web inspector to figure out the right CSS selectors, run into some race condition where the elements aren't loading in time, sprinkle in some waits, and puzzle over how to handle elements being added from the infinite scrolling list.
That doesn't sounds too great either. Maybe it'd be faster to manually click those buttons after all...
I built Browserflow to automate tasks like this where people end up wasting time doing what computers do better. I wanted a tool that makes it easy for anyone, regardless of their technical background, to automate any task on any website. It includes the convenience of features like automatically generating automation steps by recording your actions while having the flexibility of letting you tweak anything manually or write custom Javascript. (If you want to see how simple it is to automate the Twitter task above using Browserflow, here's the demo: https://www.youtube.com/watch?v=UnsGTpcA-98)
Building a browser automation tool from scratch and making it robust enough to handle all kinds of websites took much, much longer than I expected. After working on it as a solo developer for 1.5 years, I'm super excited to finally share this with you all. Whether you're a professional developer or a non-technical marketer, I hope Browserflow will make you feel like a magician on the Web.
Would love to get your feedback!
Whenever I see extensions like this, it does make me wonder something which I've never fully understood: Given that so much of it runs client-side, what's the state of the art nowadays in terms of preventing someone from essentially "stealing" your extension. I've come across some extensions in the past -- even ones that were paid for and part of a business -- where it was clear that it would've been trivial to simply copy the extension code and run it on my own. How do you prevent folks from doing that?
The two pieces that make it harder for someone to simply copy the extension code and run it themselves is (1) Javascript minification and (2) parts that talk to a server.
Someone can try to reverse engineer the calls to a server and run their own, but that's often more work than most people are willing to go through and it's made harder by the client code being minified.
I wish it were possible to open source extensions without running into this problem because I like sharing things I've built (https://github.com/dkthehuman/), but doing so effectively kills the possibility of building a business on top of it unless you maintain two code bases (one free and one paid) at which point it's more trouble than it's worth IMO.
Here is my need (and I've had this need my whole working career": What does production look like?
If a tool could automate loggin in, browsing specific flows, take screenshots of every page, and add them to a folder of the day, it would invaluable.
Take a look at the "Take Screenshot" command and feel free to message me on the Browserflow Discord if you need help.
No, thank you. Please offer a local save option.
It's tricky to do on your machine, so that performance doesn't suffer. At the end of the day, all full-page PDF generators would have to scroll to the end of the page, which would make it really tough for you to browse around.
A solution to this would be to just capture the URLs that you visit, and then do the screenshot generation in the cloud. The limitation is that none of your websites with logins would get captured.
Local storage is another issue for Chrome Extensions. There is a limit to how much data that can be stored.
Logged in states are a must have.
Deleted Comment
https://www.lambdatest.com/automation-testing