I paid to have a script written that will make things I’ve been doing manually for clients super easy. The script initiates various API calls that go out and fetch data and update the corresponding records in Airtable.
I’m investigating if it’s worth trying to “hide” the script to protect myself. I’m worried clients might not see the need to have me do the work anymore if they realize they could just hit that blue button themselves. I’ve invested time and money into this script with the intention that I would make it back in saved time on the tedious work I do manually for clients right now.
I’ve purchased scripts from @Kuovonne where they are ‘hosted’ somewhere else and you can’t actually see the code. (Not sure if “hosted” is the right terminology.)
I’m hoping someone can explain the basics of how that works. It would also be nice to get an idea of how difficult it is to do (or how hard/expensive it is to hire out for that sort of thing). I’m just trying to figure out if I should even bother with the idea.
In my personal opinion, I don’t think you need to worry about clients walking away from you because they peeked “behind the curtain” and saw what you’re doing.
In my personal opinion, 99.99% of people don’t want to look at code, touch code, or even think about code. As soon as they even see a line of code, they’re probably going to think the exact OPPOSITE of what you’re suggesting. They’re probably going to think: “Holy crap, this makes no sense. I need to call Alisha ASAP for help!”
But even for very simple things that aren’t nearly as advanced as writing scripts — such as setting up interfaces or creating linked fields between tables — clients will STILL be eager to pay you & work with you if they feel like you are conveniently accessible to them, that you are saving them time, that you are making them more productive, and that you are confidently leading them towards their future goals.
So I wouldn’t bother trying to hide anything.
However, what I would do is caution them about being very careful about touching any of the code that you’ve written, because things could break if they touch your code.
You may also want to talk to them about different permission levels (read-only, editor, creator, etc.) so that unauthorized users can’t edit things that shouldn’t be edited — which includes formulas, too!
Thank you for purchasing my scripts! I hope you found them useful.
The scripts that I sell are not hosted somewhere else when you run them. You copy/paste the script into the Airtable script editor. Some of my scripts are minified code, which is not designed to be human readable. I use a tool in my code editor that takes normal looking code and condenses it with a minifier. It’s super easy and takes only a few seconds once you have the minifier setup. A persistent human could read minified code, but if you have the skills to read the minified code, you have the skills to just write the code yourself, which would be easier. There are other tools that can obfuscate code, making it even less readable, but I decided that I don’t need to take that extra effort.
One of the reasons why I deliver minified code is to prevent people from tweaking the code without really knowing what they are doing and then having a bunch of support calls because the tweaks don’t work.
In my experience, people who hired me to write custom scripts weren’t interested in maintaining the code themselves beyond simple adjustments like changes to field names. When they wanted updates to the code, they came back to me and hired me to make the changes. I also always deliver custom code in human-readable form. If something happens to me and they need maintenance done on the code, the client deserves to have code that a different programmer could pick up and read.
On the other hand, I also have some utility scripts that I wrote for myself to make some development tasks easier. While clients had access to these scripts while I was working on their bases, these scripts were not designed for on-going use and were not “pretty” for customer use. I never worried about clients taking these scripts from me.
Being hired to hit the blue button sounds like really boring work. Being hired to know how to implement the blue button is a different matter, and that sounds like fun. I would hook up the script to run from an automation and then move onto something else fun.
If you like writing code and working with Airtable, I highly recommend taking the time to learn to write full scripts. There are plenty of people out there who are want working code but are not interested or capable of writing it themselves.
If you need to “host” somewhere else, you can always run the script as an automation in Zapier, so the client doesn’t “see” what you are doing. Would require having a paid zapier account, and of course changing the automation to be something triggered by Zapier.
But the bigger question is, is this a SLA where they pay you to make sure the machine is running, or are they paying you what they anticipate an hourly fee is to do the stuff manually? If they just want the output, you can always initiate and run the data in a base you own and then sync it to their bases. As long as you have access to both workspaces, that should be fine.
But also, if your current “value” to the clients is pushing the button (And knowing how to request what needs to happen when the button is pressed, ofc), it might be time to find other value adds besides being the “button presser”. That’s the only true way to protect income streams. Clients can always decide they can’t afford/don’t need you.
Totally. Being able to write scripts has always been a great value add to clients, and just to your skillset.
Yes. Your scripts have most definitely been helpful!
This script wouldn’t complete in the 30 second limit so I think manual is the only option for this use case.
There are multiple good reasons why a script should be run manually instead of automatically. If the only reason is the 30 second limit, there may still be ways use an automation. There are ways to break a script execution up across multiple scripting actions and multiple automation runs. These methods usually require some corresponding changes to the base fields to keep track of which records have been processed and which still need to be processed. If knowing how to do this isn’t in your skill set yet, it may be one worth learning.
In my personal experience, when a script needs to be run frequently and manually, that task usually is given to the least-paid person who still is trustworthy enough to run the script.