Hi! We have been working with Alteryx desktop automation for a couple of years now. due to Alteryx discontinuing the product, they are pushing everyone the the server side. As the pricing of the server is around 60-70 k€, and we really just have some basic ETL workflows, im starting to think should we jump onboard KNIME and do the future development there (and ditch alteryx).
The most complex workflows we have are with Multiple API calls, modifying of the API call url’s with previous datasets results and financial calculations (IRR, multiples, etc.
One of the main concern’s I have is how flexible is the KNIMEs API functions? Can you pass URLs from the workflows for the next API call or are they static? What about Bearer token authentications can those be passed within the workflow or do these both require doing the API calls in python?
Any comments/experiences on doing the migration to KNIME would be highly appriciated!
Trying to set expectations here… there is no doubt about it but porting (rewriting) existing workflows from Alteryx to KNIME is going to be time consuming and it won’t always be smooth…
The nature of the specific workflows will dictate how easy it is. There are certain functions in Alteryx that can be tricky to replicate. The formula tool being the most obvious to me as it has a few capabilities that KNIME’s column expressions node does not have. And there will doubtless be other specialist tools in Alteryx with no direct equivalent or where the processing in KNIME will seem more convoluted.
On the other hand, I came from using Alteryx and my job mostly involves data migrations and calling database stored procedures (especially Oracle). I “discovered” KNIME in 2021when I was between contracts following covid lockdowns and looking for a tool that I could personally afford (!).
For the kind of work I do, KNIME beats Alteryx hands down (or at least the version of Alteryx I used in 2019/20). I would never want to go back to Alteryx because it was far too restrictive in its database handling,
and looping in Alteryx felt way too convoluted. But that’s just my use case.
In terms of API calls, almost nothing in KNIME has to be static. (Nearly) every configurable parameter on a node can be made dynamic with “flow variables”. I have used KNIME to read an API and then generate “on the fly” calls to further APIs. All of my API processing in KNIME has been done with the KNIME nodes and not with Python.
However, the great thing about KNIME is that Python (and potentially Java) can assist if you can’t do it with standard nodes, or if you are comfortable with Python there is nothing to stop you using whatever skills you have.
There may be times when Alteryx may have been faster than KNIME. I’m sayng that anecdotally as I don’t have any objective measures of my own, but again it depends on exactly what you are doing.
Sure, KNIME takes a little getting used to but this forum can be a good guiding hand if you get stuck.
The free ebook From Alteryx to KNIME may help with some of the transition. It is likely to still refer to the “classic ui” which remains available even in the latest version, but be aware that some screenshots may seen different depending on your KNIME environment.
@takbb pretty much nailed it. I will add that my switch to KNIME a few years back opened up new worlds of capabilities vs Alteryx desktop. KNIME is generally a much more dynamic and flexible platform because of the extensive support for flow variables to manage settings, open source community driven approach, and integration with code based solutions in Python / Java / R.
Your post about discontinuing Alteryx Desktop and forcing users to more expensive options makes me all the more happy that I switched my company over to KNIME a few years back. Alteryx Desktop was already cost prohibitive for our smaller business clients and licensing was too inflexible / didn’t allow for dual pc setups.
The only 2 pluses for Alteryx as mentioned above are the occasional instances of faster processing speed / the formula tool edges out KNIME’s Column Expression as a go to multi-tool. The Formula tool can process multiple formulas in an ordered series, while the Column Expressions must be used more than once to base another calculation off of a prior change. There are also some instances where a Java snippet node or a loop are required to handle more complex multi-row calcs in KNIME. I expect KNIME will close these gaps soon as they have with others.
Thanks Takbb! We only have about 4 scheduled workflows, so rewriting these should not be a too big of a thing. Other manual workflows can be redone later (license active till end of next year).
One of the automated workflows is used for notifications, it has about 30 endpoints as email send, with an table attached to the body of the email. How is the email functionality in knime? Does it support writing data from the workflows to the emails body?
Hi @Data_consumer , you’re welcome. I’d have to defer to somebody else in terms of the specifics of sending emails with KNIME since I’ve not done it myself, but this is the main mail configuration “Send Email” node
and a general rule in KNIME is that any field on the dialog can be given values by “flow variables”, so are dynamic and can be changed using run time variables.
Currently in the “Classic UI” nodes this is performed by way of the “Flow Variables” tab, although the UI is in the process of being transformed to a new look and feel (what KNIME call the “Modern UI”) and so gradually the place where flow variables is configured is changing but the actual ability to change them will remain.
This is a the “flow variables” config screen for the Send Email node:
Each one of the fields on the screen has a corresponding flow variable entry, and so can be adjusted at run time with these variables, including the email body, subject, and recipients lists. So yes, if you have data derived in the workflow, it would be possible to put the data into a String variable to contain that data and include it in the body (which is the field “text” 4th from the bottom on the above screenshot).
Great! What you’ll also get with KNIME is this community forum which I have to say is beyond anything I’ve experienced elsewhere. Alteryx also had a responsive forum, but to me the KNIME community feels more like a family. I hope you are already getting that vibe!
Not only is there an active community of people willing to help, but you also get direct inputs and assistance from the KNIME team themselves, which is particularly impressive when you consider that if you are only using KNIME Analytics Platform (“KNIME AP” i.e. the desktop tool) you are not paying them anything!
The more you put into this forum, the more you’ll get out of it. If you have any problems or questions, then the main thing is asking things here in a clear and precise manner, and people here will do their best to assist.
Obviously some things take longer to help with than others, and occasionally there will be things that happen where it is really difficult to find a solution, or (uncommonly) there is a bug that will (hopefully) be fixed in a coming release. Nothing is ever perfect! I hope you decide to take the plunge. I’ve certainly not looked back, and I’ve introduced KNIME to others at my place of work (including those like me with a programming background) and they’ve not looked back either.
In terms of scheduled workflows, if you are looking for fully automated scheduling within a workflow, then that, along with a few other things such as version control, is part of the commercial KNIME Business Hub (formerly KNIME server) offering, so there could be a cost if you want that.
However, that’s not to say that people haven’t found ways to schedule the running of a workflows from Task Scheduler or other means.
Unlike the Alteryx that I knew, there is no “very limited free period” to try it before you decide. Play with it for free, use it for free, and choose to use the commercial offering when and if there is something more that you need from it.
You can also create custom reports and add them to the emails via attachment.
Here is a link to a looped email send that I created to avoids errors when flow variables are passed that have missing values. (Such as some emails containing CC lines or attachments and others not requiring them).
In fact, I recently incorporated a nice example of something that you could never pull off in Alteryx… You can have Chat GPT or GPT4ALL access those tables by dropping them into into an adequately descriptive prompt if you convert the tables to AsciiDoc format and insert them into the text strings. You can then incorporate the custom AI descriptions, analysis or visualizations into each email. You can even utilize a vector database from a PDF or other document with guidance / examples so that better informs your model for it’s custom purpose.
bearer token can be a bit tricky as you first need to make calls to get the token or even worse some implementation require you to login manually via website and I’m not sure if that can be captured inside a knime workflow. if the bearer token can be fetched by standard API call, then it will be possible.
As for email, yes it work but config might be a bit tricky depending on your companies settings and limitations like are you allowed to call the smtp server from the machine the workflow is running on. As has been mentioned you can send reports generated in a workflow by email as well. And as a last resort, because to be frank I don’t like sending pdf attachments as that is inconvenient for the end user, you can also send emails from Java code and thereby you have full control on the formatting and can include images (html and images in email is actually surprisingly complex). But that way you get the optimal results.
Additional for scheduled workflows you either need to “hack” your own solution using knime batch mode + task scheduler/cron. it’s possible but hacky. For easier scheduling you would require the KNIME server which also comes at a cost. Just saying this so you are aware the free desktop version does not have scheduling options built-in.
I think you got most of your answers here but I’d just add that having worked with Alteryx Desktop for 5 years including 2 as a consultant making solutions for others I much prefer KNIME.
I now work in a company using KNIME for all our ETL flows including many APIs and there nothing I’ve been unable to make. We currently have about 40-50 scheduled flows running daily without any issues at all.
Loops beat Alteryx macros for simplicity of development and flow variable are a game changer allowing completely dynamic flows that would be difficult to make in Alteryx.
The support forum is great and of course the price is a major bonus. In theory you can run all your flows for zero cost if you have some technical know how.