Navigating the World of Worklet Automation Scripts with Jeremy Maldonado

Episode 5   Published May 5, 202417 minute watch

Episode Summary

In this episode of Automox Insiders, Maddie Regis interviews Jeremy Maldonado, a Worklet Systems Engineer at Automox. They discuss Jeremy's background, his role at Automox, and the concept of Worklets. Worklets are a component within Automox that allow IT administrators to run custom automation scripts on their managed endpoints. Worklets contribute to safe and accessible automation by giving administrators control over their environment and the ability to customize and run their own programs. Worklets are written in native scripting languages and have built-in safety features, such as outputting to the activity log and error handling. The Worklet catalog provides examples and makes the creation process easier. Worklets can be used to solve various issues and automate tasks, providing a single pane of glass for managing endpoints.

Episode Transcript

Maddie: Hey there everyone. This is Maddie Regis, Paid Media Manager at Automox. And I'm bringing you a new episode of IT Insiders, which is Automox's podcast that introduces you to the people behind the product. So this month we're focusing on safe and accessible IT automation. So we're talking with Jeremy Maldonado, who is one of our Worklet Systems Engineers here at Automox. You might be wondering what a Worklet is. We will dive into that today. And as always, we'll be chatting with Jeremy about his background and his time at Automox. So thanks for joining Jeremy.

Jeremy Maldonado: Thank you very much for having me.

Maddie: Alright, awesome. Excited to get started. So, dive in, tell me a little bit about your career background, your current role, and I always ask the name that you'd give our company if we weren't called Automox.

Jeremy Maldonado: Sure. So, like Maddie had said, my name is Jeremy. I came to Automox about one year ago. Prior to that, I've worked for different software as a solution companies. My background mostly consisted of Linux systems and Linux hosting and cloud computing before coming into Automox.

Automox was a big culmination of so much IT brain power. So it was a lot of things that I learned along the way and also learned about our industry. But I also felt that Automox was trying to grow in a Linux capacity. 

So that's really where my skill set came in to help try to help the company move forward. So Automox, our mascot is a giant robot, which I thought was really cool. I've never been at a company that had a mascot before. So I like Fixbot, you know, Fix, B -O -T, Fixbot, because I think, I just think it's a nice show of character and personality to have Otto, our mascot, kind of be the forefront of the company. Yeah, that was... I like Fixbot.

Maddie: Yeah, I love that. I think that's awesome. That's a creative one. Also love Otto. I think everybody at the company does. He's, he's a super fun mascot. Agree. That's definitely the most fun one I've had in my career so far. Um, but yeah, and we do, we fix a lot of stuff. So I love that. Love that. Okay. So we're going to dive into more of the Worklet side of things now. Um, so yeah, what is a Worklet? Um, you know, I, I have kind of a rough understanding. I'm sure a lot of our listeners maybe don't, but.

Jeremy Maldonado: Yeah.

Maddie: Just describe it in your own words for me.

Jeremy Maldonado: sure. So Worklets themselves are a component within Automox that give the IT administrator the ability to run custom scripts or custom programs on all of their endpoints that are managed from within Automox. So I describe a Worklet as really being the customization that you would have as an IT administrator against all of the devices that you're going to manage within Automox. So obviously, Automox has built-in features that help secure your environment and run patches, ensure that your environment is safe and ready for production. But Worklets are what give you the ability to actually take a step further to customize and run your own programs against the devices in your fleet. This is really Automox's way of giving you that extra bit of control over everything that's in your environment.

Maddie: Okay, cool. Yeah. So it's like completely tailoring it for your organization. It's kind of that, that next level up. Awesome. And how would you say Worklets contribute to safe and accessible automation? You know, that's kind of the theme of this month. So yeah, curious to get your thoughts there.

Jeremy Maldonado: Absolutely. Absolutely. So Worklets are written in the native scripting languages for your endpoints. For example, for Windows, it's using PowerShell. And for Mac or Linux devices, it would just interpret as native bash. You can also have the scripts interpreted in another programming language if you'd like, depending on how the Worklet is written. 

But because it's written in the native scripting language, native scripting language, intended to be read by the native OS scripting language, Worklets are usually very safe and there's plenty of documentation we have on making Worklets safer and they can be interpreted better by the console. Just for example, Worklets naturally output to the activity log. So if you go into your Automox console and you go to your reports, in your activity log you would see the output from the Worklets.

This ensures that nothing too safe, too unsafe, or nothing detrimental is being run against the machine. You have clear logging and clear monitoring of what took place. But also, the scripting language will exit naturally and will cause the Worklet to output errors to the activity log as well.

So just for example, if you had a script that was checking for a status of something or if a certain file was existing, you could have the script return an exit so that it would stop. And then the activity log and C panel, I'm sorry, the activity log and Automox would report this. So you can control and ensure that no Worklet is doing anything detrimental or destroying important data on your endpoint.

Maddie: OK, cool. Yeah, so you've got complete control over everything that it's running.

Jeremy Maldonado: Worklets are really meant to give you the empowerment to make changes to your entire fleet without having to write the same script a million times because Automox already allows you to put your devices into groups or you can use tags to have your devices sorted like for example devices on a certain network or certain operating system versions.

If you wanted a Worklet to apply to only a small number of devices or a certain number of devices, you could absolutely do that. And this is just another way of ensuring that only the devices that you need to have changed are changed.

Maddie: Well, one other question I do have about Worklets, just as somebody who has a decent understanding of the tech space, but not a ton, is how competent do you have to be in those scripting languages in order to use Worklets?

Jeremy Maldonado: Well, like I said, we do have a lot of documentation that explains how the work with will behave with certain functions, like if you wanted to exit or how output is read to the activity log. But to make things easier, we also have a Worklet catalog that was contributed to by myself as well as my teammates. And when you're in the Worklet catalog, you can view the code that is in the Worklet.

Worklets have two parts. There's an evaluation code and a remediation code. So the evaluation code will check for the existence of whatever you'd like to check for. So like for example, if a certain service isn't running, if a certain file wasn't present, maybe you'd check a certain configuration like your logout timer or your screen saver timer, something like that. And you would have the script set to check for this value. 

And then if it requires the next step, which is remediation, the evaluation would have to exit with an error code. In our documentation, we keep it simple and say exit one. And then the remediation, which is the second part of the Worklet, would run. If you view our Worklet catalog, you will see both code blocks. You would see the evaluation script and the remediation script.

And our team fully encourages that as long as you feel comfortable with the code, you've been able to give it a look over, read the description. We encourage you to look at our code blocks for examples. If there's something that maybe you're not familiar with or something that you just want to check and see how we might suggest you do something. We highly encourage that you take any knowledge that we share from those code blocks to write your in your own Worklets. 

Or of course, if you see anything in the catalog that to an exact situation that you have, then by all means, you can create a policy from the Worklet catalog and use that Worklet as it is. But we strive to make the Worklet creation process as easy as we possibly can. And even to this day, we're still trying to develop Worklet development kits that have built-in functions that anyone can use to make writing their own Worklets easier.

Maddie: Awesome. Yeah, definitely where that accessibility component comes in. And I know the Worklet catalog, I believe, has over 300 Worklets at this point, maybe far more than that.

Jeremy Maldonado: over 300 and we're still trying to add more. And at the same time, we're trying to add ways to make Worklets easier, make the logging easier. But hopefully the Worklet catalog will continue to grow and we'll continue to add new features that kind of make adding Worklet policies easier. And you can also chain them, but the process is still getting better and better as far as I see it. I think it's getting better and better.

Maddie: Absolutely. Yep. You guys are working hard over there at the Worklets team to make it better and better every day and expand it. Which is, yeah. That's awesome. Could you just walk us through just a really quick example of a Worklet, maybe something from the Worklet catalog or one that you just see people using a lot maybe?

Jeremy Maldonado: try it. Lots of coffee.

Sure, I think Worklets are a fantastic way of making changes to a software or changes to a system that maybe is not included in a normal patch policy that Automox can offer. Very common examples are wanting to, sorry, set a reboot timer for your devices. We have one, for example, for both Mac and Windows devices. 

Essentially, within the Worklet, within the code block, you could specify date and time or amount of time that you wanted a reboot to occur. And whenever the policy, sorry, the Worklet is scheduled to run from your Automox console, it will actually run the evaluation code to see if the necessity to run the remediation is there. 

And we have Worklets like this that can also check for things such as the device's reboot history, or for Windows devices, we have customizations that will brand the device with certain images or login screens or lock screens that you wanted. Basically, when you create a policy with an Automox, it will check for the existence of the data that you're looking for or the status that you're looking for. And if necessary, it will schedule for the remediation policy to be run.

I think these examples with like checking the reboots or checking the reboot history or setting a lock screen timer. I think these are extremely useful for just about any circumstance because number one, they're good for security. They're good for keeping track of the devices in your environments and your ecosystems. But also this in your own way allows you to customize your environment.

Maddie: Thank you.

Jeremy Maldonado: in a way that you might not have been able to do without the use of a Worklet. Prior to this, you would have had to use something such as a different device manager, such as an MDM or something outside of Automox. This is Automox's way of really giving you control over your endpoints.

Maddie: Absolutely, and that single pane of glass advantage that we always talk about in marketing, for sure.

Jeremy Maldonado: Yes. You can do it in one tab. We don't need 20 Google Chrome tabs open. We got everything in one tab.

Maddie: I love that. That's awesome. Okay, well, let's jump into a couple little fun questions. My last sort of Worklet question is if you could create a Worklet to solve any global or societal issue, what would it do and what would you call it? You know, just a pretty, pretty big question. Pretty overarching, but yeah, curious to hear your thoughts on that.

Jeremy Maldonado: Gosh, I wish I would have prepared a little better for that one. Global or societal issue. You know, traffic monitoring and weather monitoring would be nice. If you have a lot of employees that are commuting to an office and you have something that's actually telling you where they may be located or telling you devices that aren't coming on and offline, this kind of helps you connect to your staff a little better. It's also a little stalkerish, but it helps you connect to your staff a little better. 

But I think that one of the big things about Worklets with Automox is yes, we do have ways of trying to make the creation process a little easier. But if you or someone on your team is very familiar with either bash or PowerShell, the sky is the limit for the things that you want these Worklets to do. So I don't necessarily know if I can write a Worklet that's going to solve world hunger. That would be number one on the priority list. But the sky is the limit here.

Maddie: Awesome, love that.

Jeremy Maldonado: The second I can figure out world hunger, you will be the first to know, Maddie. I will come back on this podcast happily. Yeah, we'll come back. We'll do a part two.

Maddie: Alright, great. Sounds good. I'll keep checking in with you. Great. Sounds good. Yeah. Well, I'll, I'll keep checking up on you. We'll check in. See you hopefully sooner rather than later. Um, okay, great. So, uh, last thing on this podcast, we always wrap with a little game. And so this game I'm calling automated or not again, going back to our theme of automation. Um, so I've got three things that are potentially automated, potentially not. Um, so.

Jeremy Maldonado: Hahaha! Yeah, I'm trying.

Maddie: Two of the things actually are automated and one of them is not. So you'll have to pick out of the three which one you think is not actually automated. So I'll give you your three options, which are making clothes, a cat litter box, and tractors used for agricultural harvesting.

Jeremy Maldonado: I know that you can get an automated litter box. So I'm crossing that out because I would love one.

Maddie: Thank you.

Jeremy Maldonado: making clothes is not automated, is my guess.

Maddie: Is that your final answer?

Jeremy Maldonado: But wait, no, because if we can have self-driving cars, we can have a self-driving tractor. So I'm going to go with making clothes.

Maddie: You would be right. Yeah. You've got the, all the automation knowledge down. So, uh, yeah, that's, that's something that surprised me. Honestly, I figured like, you know, robots would be automating, uh, that whole process, but no, actually it's, uh, still something that we need human intervention for. We need those skills, but you are right. We've got self-driving tractors and, uh, there are automated cat litter boxes for those listeners that didn't know that.

Jeremy Maldonado: I knew it. Tractors are huge. I don't know if I'm ready for that to be automated, but you know, I guess the saving manpower, you know, that's the Worklets can do the same thing. Granted a tractor is huge.

Maddie: Yeah. Yeah, at least it's staying in the confines of its farmland. So, you know, maybe a little less scary than self-driving cars. All right, well, I've got one last little thing. I'm going to leave our listeners with a discussion question that they can contribute to over in the Automox Community. Highly encourage for everyone to check it out if you haven't yet. So for those of you that are Automox users in the community, I'd love for you to discuss what your favorite Worklet is and the ones that you've use the most often.

Jeremy Maldonado: We hope. We hope so.

Maddie: So we'll leave you with that. Jeremy, thank you so much for coming on and sharing all your expertise and we'll see you next time.

Jeremy Maldonado: Thank you, Maddie, and thank you very much.