Skip to content
Log in
— Episode 4 · 39 min

Automate everything

Rob Dwyer automated new-hire onboarding, training logistics, and QA at a contact center using nothing but the Microsoft tools his company already owned. He explains how VBA turned a full day of setup per class into about 30 minutes, and where the line sits between worth automating and not.

February 4, 2025 · Jen Weaver with Rob Dwyer, Training and quality leader, Happitu / Customer Direct

— Takeaways —

What you’ll learn from this episode

  • Automation is taking something you repeat and making the machine do the repetition. Most of it does not need new software.
  • You probably use about a tenth of what your existing tools can do. The functionality is 10x what you touch — unlock that before you buy anything.
  • Map the process before you automate it. If you cannot describe the steps and their order of operations, there is nothing to automate yet.
  • Know when not to bother. A five-minute task you do once a week is not worth automating. Hours, multiple times a week, is where the value is.
  • Comment your code. Come back in two years without comments and you will lose a day working out what it does.
  • Ask communities like Support Driven. Someone has already gone down the rabbit hole and become the expert in the tool you are stuck on.
— Chapters —
  1. 0:00Introduction
  2. 0:45The three-legged pig
  3. 2:40Rob's background — Happitu and Customer Direct
  4. 4:10Use whatever tools you already have
  5. 5:30What the playbook automates in onboarding
  6. 7:30How it grew over time
  7. 9:20Is VBA actually hard?
  8. 11:40Graduation certificates, generated from PowerPoint
  9. 15:08You only scratch the surface of your software
  10. 16:50Asking communities to unlock the rest
  11. 19:40Storing and iterating on the code
  12. 21:40When automation is not worth the effort
  13. 23:20How much time it actually saved
  14. 26:00Skills routing — the unglamorous win
  15. 27:40When a migration breaks your automation
  16. 28:50Walking through the playbook template
  17. 30:40Map your process before you automate it
  18. 33:30Automating coaching sessions
  19. 36:00Start small, and ask for help
— Transcript —

Transcribed from the recording and edited for readability — false starts removed, product and proper names corrected.

Rob Dwyer Automation is often just about taking something that you repeat over and over — you're doing the same thing over and over — and just making the machine do that repetition for you.

Jen Weaver Welcome to Live Chat with Jen Weaver. If you're drowning in manual tasks, this episode is for you. Rob Dwyer from Happitu figured out how to automate onboarding, training, and QA using tools most of us already have but barely use. He has saved hours with simple VBA automations, and today he's sharing exactly how he did it. If you're looking for quick wins to make your support ops more efficient, hang around. Let's get into it.

As you know, we're here with Rob Dwyer of Happitu. Am I saying Happitu correctly?

Rob It's Happitu, like "happy to." I'm happy to be here with you, Jen.

Jen Fantastic. We start every episode with a joke. I have one for you if you're up for it.

Rob I am up for it. Lay it on me.

Jen I really don't want to offend anybody, but this is one of my favorite jokes. I'm going to shorten it, because my dad tells it and we would be here all day.

So a guy is walking along by a farm and he sees a pig kind of snuffling for truffles under a tree. And it only has three legs — one leg is wooden, and it's kind of hobbling around on this wooden peg leg. So the guy walks up to the farmer and says, "Hey, what's the deal with your pig's wooden leg?"

And the farmer tells him the story about how they were in the barn, and the barn was set on fire, and the pig came in, warned them, and dragged their kid out to safety. And the pig was a hero. And he said, "Okay, but I don't understand why the pig has a wooden leg."

And so the farmer tells this other story about how the pig does some other heroic thing — and my dad is going to hate this telling of this story — but the pig is just an absolute hero and everybody loves the pig. And the guy's like, "Okay, but why does the pig have a wooden leg?"

And the farmer says, "Well, a pig like that, you don't eat all at once."

Rob Oh.

Jen Welcome to the podcast. Today we're offending people.

Rob Bacon.

Jen Yeah. So would you just tell me a little bit about who you are, what your perspective on support and services is, and a little bit about Happitu?

Rob Absolutely. Great to be here, Jen, thanks for having me. My name is Rob Dwyer. I work actually for two companies. Happitu, which is a sister company and a technology spin-off of a company called Customer Direct. Customer Direct is a BPO contact center based in St. Louis, Missouri. And then a few years ago we spun off our technology division — that's Happitu — and we automate quality and do call analysis for all kinds of contact centers of all different sizes.

My background is actually in training and quality. I've been involved in contact centers for 15 years, but I came up as a trainer, did training all across the globe. And then when I came to Customer Direct, leading their training organization was what I came in to do, and quality came along with that eventually. So that's really my background.

Jen I love it. And I know you have a process to share with us today, because our podcast is all about tactical support — helping support people to do things. Nobody got a manual when we started this, and so somebody like you who has a lot to share is a real asset. What is the process that you brought with you today?

Rob Absolutely. So I firmly believe in using whatever tools you have available, particularly based off of your size. If you're a giant organization you can buy all the things, but if you're a smaller organization you have a limited tool set — but you can really use tools in a way that maybe you didn't expect.

When I came into the organization we were a Microsoft shop. We had Outlook, we had Excel, we had PowerPoint, all of these things. And when it came to onboarding new people in training, there are all these different systems that they need access to, there are different things that you need to set up.

Eventually we migrated to fully virtual training, so there were invites that needed to be sent out. You needed to get email credentials, system access to various things. And we did post-training surveys which need to go out, and then I need to do data collection, and I want to get graduation certificates out to people. All these different things that involve a lot of data entry or manual processes.

So what I did was I utilized VBA — which is Visual Basic for Applications, it's a way to extend the usability of Microsoft applications — to automate just about everything. So I could do a lot of these things in one click.

Once I had data, for instance — we'll just start with the process. I get all of the agents into what I call a playbook. It's trainer-facing, but also as a leader in the organization I would use it. And the first thing that I would do is I would have this series of tasks, things to do as far as getting access, granting access, doing things. I would click a button and it would create dated tasks in my Outlook, because I am a task-focused person. Sometimes I don't want to have to come back, I just want Outlook to tell me, "Hey, today you need to make sure that you send out the graduation certificates because the class is graduating."

Okay, great. So that was the first thing, getting the tasks. But then every little step of the way I tried to automate whatever it was. So if I need to get them credentials to a particular system, if there's a CSV that I can just upload in bulk, then I have a button that I click, and that button executes creating a CSV worksheet that has all of the data necessary formatted properly for that system, so I can just upload it and go.

When it comes to sending out invites, I have all of the new people and email addresses, so I just click a button, it creates an invite in Outlook that goes out, has the link, everything's already set in there. And you can even set it for variables. So when we first started with this we were using Adobe Connect for a virtual training platform. Adobe Connect had different classrooms, those different classrooms had different links, so depending on what you were being trained in, it already knew what link to put in the body of that invite.

So it just saved me so much time, so that I could focus on really high-value activities. And I think ultimately that's the piece — anyone in support, you want what you're doing to be high value, but there are all these kinds of tasks that you still have to get completed. So any little bit that you can automate.

Jen So how did you start that? Did you just, at the very basic level, create a list of all these things you didn't really want to be putting a lot of effort into?

Rob Well, it grew over time. The first piece of it was really just identifying what people were being trained, what they were being trained in, tracking basic things like attendance — and maybe so the trainer could communicate with me what they were struggling with, or who was a strong performer — making sure that we tracked assessments. And then over time it just started to grow.

So I would decide, okay, we're doing this new thing now. Let's just take supervisor onboarding checklist. We created a supervisor onboarding checklist so that when agents came out of training and moved to the supervisor, we made sure certain things were happening, communication between the supervisor and agent. We created a list in a SharePoint list, and then what I could do was, just with the click of a button, it would create a notification that goes to the supervisor, create that checklist for the agent, that they then need to start going through and doing these things with the agent.

Interacting with things like SharePoint, with things like PowerPoint, is actually relatively easy if you know how to do it. And it just kept growing, to the point where I didn't have to spend very much time. When we had a new hire class it would be maybe 30 minutes of doing things that before would probably take a whole day.

Jen Wow, that's impactful. So you are using kind of snippets of code to do that, am I getting that right?

Rob Yeah. VBA is a really simple, straightforward type of coding. It is coding, but it's not object-oriented. You need to know the very basics, you need to understand things like variables, but I think the average person can do it.

And quite honestly, the way that GenAI has made coding accessible to people who aren't coders — you could get a lot of that code just by having one of these new GenAI systems help you develop that code, just by saying "this is what I want to do." Obviously you need to test the code, and I will tell everyone: test, test, test as you're going through this.

But I am not a coder. I know enough, but this was easy enough that all I really needed to do was get some help on the internet. When I wanted to do something, a quick search often led me to what I needed.

Jen You are using this for streamlining communication with the leads who are doing the training, and you mentioned initiating your tasks. This is actually something I've been trying to do — I'm using Linear, and what I'd love to do, I could do this in Asana, where I would populate a task template and it would date everything based on the due date. Sounds like that's what you've achieved here.

Rob Yeah, absolutely. It's simple formulas based on how long you anticipate something is supposed to last. A training class has established timelines, and so it's just a matter of automating things based off of those timelines.

But there are things where it's not so much that it's a task. I'll talk about the graduation certificates, it's a good example. When agents are not in the house, being able to celebrate their accomplishment virtually is a really cool thing to do. And yes, you can have certificates in a learning management system — because we do have a learning management system and it has certificates — but that tangible "I get a PDF of something that maybe I can print out at home" is really nice to have.

So with PowerPoint I could create a template, and in that template, for instance, I had signatures in it. We had the president of the company and myself, both had our digital signatures on this. It would be customized — Customer Direct is a BPO, so we have lots of different clients — so it would be customized with the logo of the client that you were supporting. It would have your name on it, it would have the date.

But literally all I had to do was store this PowerPoint on a SharePoint, and with a click of a button this Excel-based playbook would reach out to that PowerPoint, create a copy of it, populate the data, and export each slide to a PDF, and then embed that PDF into an email with Outlook addressed to the agent.

So it was literally all of these different steps that you would normally have to do, I did with a click of a button, and then it was just hit send. If I had 20 people I would click one button and then I would click send on those 20 emails that popped up on my screen. Before we went through that process it might take me four hours to go through and create all of those different things.

Automation is an amazing thing to do, and you can use a lot of existing tools to do it.

Jen You have me thinking about all the things that I'd like to automate. In fact, I think I'll sit down tomorrow and look back at my week and just think through what did I do that really took me too much time.

I use Zapier, I can use that. But also I often feel kind of stuck, so I love your idea of asking AI: I want to do this thing, what's the best tool for that? Or how do I use Zapier for that, or how do I work with the Microsoft ecosystem?

You said you used PowerPoint and you were able to get it to plug in — I'm thinking of when I used to do bulk mailing and it would plug in the person's address and their name. Is there a special field in PowerPoint that you use?

Rob No, there's not a particular field for that. You're using text boxes for that.

It's really all about — for those that are not coders — there's this thing called an array. An array is a way of containing a string of data, various data elements that are the same thing. And really all you're doing is you're taking that list of names and you're sending it to PowerPoint through the code, and PowerPoint understanding, because of the instructions: okay, the first name, put it on slide one; second name, put it on slide two; third name, put it on slide three, etc.

Automation is often just about taking something that you repeat over and over and just making the machine do that repetition for you. And you can do it in all kinds of applications.

Here's the thing about applications that we use all the time: we probably only scratch the surface of what they can actually do for us. We find the particular pieces that are interesting to us and we go, "Oh yeah, this really works for me, that's what I'm going to use it for." But the functionality of that particular application is probably 10x or more of what you use it for.

So for me, in this particular case, it was just about unlocking some of the existing potential in applications that people work with every day. And look, I used Microsoft. Lots of places use Google — well, guess what, you can do the same thing with JavaScript with Google. They do the same thing, it's just a different language, but you can still automate all of these things.

Jen If I weren't standing at a standing desk I would be at the edge of my seat, because it resonates so wildly with me. I spent eight years on a customer support team becoming the absolute expert on a software tool, and if I look at how I used it before I was on that support team, it was a tiny fraction of what it was capable of doing.

And now I'm thinking about all these tools that I use in my own life. I use Craft.do, I'm in there every day. If I could just figure out how to unlock that other nine tenths of what those things do — what are your tips? Okay, now I'm enlightened to the idea that I'm using a fraction of the software's brain. What do I do now?

Rob So I think the first thing you can do is just ask, whether that's asking Google or you're asking Stack Overflow. But understand what's the task that you want to accomplish, and do I have an existing tool where I can accomplish that?

Part of it is just about communities. You and I, before we got started recording today, were talking about the Support Driven community. There are all kinds of other communities like that, where you can just ask and say, "Hey, I'd love to try and automate things, these are some of the tools that I use, what cool use cases have you guys stumbled upon that you're doing with these things?"

Jen Totally doing that now.

Rob Yeah, such a great way to truly unlock power. Because when you have that community that does the same kind of things that you're doing, they have all gone down these crazy rabbit holes where they got absolutely ensconced in an application and they're like, "I became the expert." And they figured out all these different things that they could do that 99% of other users had no clue about.

That's my first advice: just throw it out there and see what kind of responses you get.

Jen So your system with the Microsoft ecosystem is to use VBA. Do you keep those — from my experience, I know you've got to iterate on those, right? Like it'll stop working, or it's going to do something you don't want it to do. Do you keep those all in a central place where you can go back and tweak them?

Rob Yeah. SharePoint is the main storage system in the Microsoft ecosystem, and so I have a SharePoint that has both the living templates and all of the historic documents.

The one thing that I do — because I have one application reaching out and talking to another application — I will often download a local copy if I'm making some iterations, and work on that local copy. But then I need to make sure that I'm updating the copy that's stored on SharePoint, because it has a unique address, and so I always want to make sure that when something else is going to communicate with it, it's going to the right place.

That was a hard lesson to learn, actually, because I thought, oh, we'll just replace it. We don't want to do that. So I keep a local copy that I'll play with and make changes to, and then track what I'm doing. And if it's code-based, it's really simple to just copy that code, paste it into the working version of it, and then we're off to the races.

Jen In learning that, who do you lean on? Is there a community of Microsoft VBA hackers that you're in?

Rob Stack Overflow and similar communities like that I often relied on. There is just an amazing wealth of knowledge.

And the one thing with these tools is, once you find a snippet of code that works, it becomes pretty portable, as long as you understand how it works. I have done similar things in Excel-based applications in the past, and so just keep your code, bring that with you. Because often I just go, okay, I need this to talk to Outlook, and so then I just dig through.

The other thing I will say — and the coders out there know what I'm talking about — make sure and put comments in these snippets, so you know what it actually is doing. Because if you come back to it two years later and you don't have some comments to tell you what's going on, it may take you some time to figure out what the heck is happening. That is one of the things I did absolutely learn: comments in there, that way you always can come back to it and know, oh okay, this is what this does.

Jen That makes total sense. When you started this process, did you get to the point where you felt like, I am spending more time with this code and trying to create these automations than I'm saving?

Rob No. But I will say that there are diminishing returns, and you have to be aware of what you're automating — is it worth the automation effort?

I think this is in general: you have to understand with any business process what the value is of automating that business process. If, for instance, yes I repeat the same process, but I only do it once a week and it takes five minutes — probably not worth automating. But if I do this multiple times a week and it takes me hours every time that I do it, now we're talking about value.

I also think that the more you work on something like this, there's a lot of repetition that goes into it, and so you go, okay, I know how to do this, I have the basic building blocks, and so putting together that code doesn't take very long because I already understand everything I need to do with it.

But there are things that I just would say no, I'm not going to automate that, because there's not enough value in doing it. Those are the things that you only spend a few minutes once a week on, or less.

Jen How much time do you think you save?

Rob I've been with Customer Direct now for nearly eight years, and I'm not going to say that I saved a year, because I didn't. But I know I saved a month, if not more time, over the course of those eight years, just automating these processes.

It really is — when you think about a new hire class coming in, and it wasn't just new hires, we would do it for cross-training as well. I might have 20 people in a new hire class, and so I'm doing each of these different things 20 times. Being able to one-click that, that's 20x right there. But then you have people who get cross-trained, and so they come in and they're learning something else and there's a similar process.

So even something as mundane as skilling and re-skilling. For anyone who's familiar with contact center software, there's this concept called skills. Skills tell you what calls can be routed to a particular agent. So Jen, maybe I've got you in a tier one skill, and I want to get you into a tier two skill, so you're going to go through some training. Once that training is complete I can put tier two — but I might want to have you practice some tier two while we're still in training. Well, I want to take you out of tier one, because I don't want tier one calls getting in the way of you practicing tier two. So I unskill you, then at some point after, I've got to re-skill you and add a skill. There's all this back and forth.

Now imagine that, Jen, you're coming into a training and you have eight skills already, and you've got a peer who has six skills but they're different skills, and I need to remove all of those skills from you and 19 peers — but I also need to put them back at a particular time. There's a lot of work that goes into that. If you can click a button, remove all the skills, give you the one skill that you're learning, and then later when you're ready to go back click a button and give everybody all the skills that they need to do their job — that saves so much time, it's not even funny.

Jen It seems like it should be a feature of the LMS to be able to do that. Have you ever found that any of your automations become obsolete because software that you're using issues that as a new feature?

Rob Yeah, absolutely. I can tell you that we went through a migration — it was the same company, but we moved from one version to another version, and their database management was different in how they managed things on their end, and it did make a process that I had already built and relied on for years obsolete at that point.

I think we had been using one process for like three years, and then — not overnight, but pretty close to it — that process was broken. And so that's an opportunity where you just have to go back and say, okay, what's the value of me going through this process again and making it work, and can I make it work?

Jen I know you very generously have offered to share your template, which is amazing. Can you walk us through that a little bit?

Rob I will say the starting point for me is actually not me. We have a template that our recruiting team uses, so when we have new hires come in, that's usually where it starts. But you don't have to start there.

What I call the playbook is pretty straightforward. You put in information about agents that you're bringing in — it's pretty basic information — and then you fill out some things. A lot of it is conditionally color-coded, so basically it's screaming at you, "Please put something here," it's in yellow. I use that for any time I need to rely on myself to fill something in.

Jen It's got to scream at me, for sure.

Rob Yep. Once you put something in, then the color goes away so that it's not screaming at you.

A lot of these processes wouldn't make sense to another organization, because they're not using the same tools or they have different processes. But the basics of how you can visualize what your onboarding looks like, and laying out all the things that need to be accomplished — that piece is where you have to start, quite honestly.

And I tell people this all the time: forget about the technology piece. Start with your basic processes, make sure you have those mapped out. Once you have them mapped out, then that's where you can start automating things. But if you don't know what your process is, you can't automate it.

Jen So a process, for example, would be what you described as how you graduate teams. Would you call that a single process — I need to get them their certificates, I need to skill them, and do all the things related to them graduating?

Rob I would call that multiple processes. I can import some data, that might be step one. And then I'm going to send an invite out — so if it's a new hire class it's going to be an Outlook invite, it's got a link for them so that they know how to join. And then I'm going to get them into an employee system, so they're going to have an employee record established with our company, and so that is going to be a simple export and then import. And then I'm going to put them into our LMS. Those are separate systems. The process is similar, but there are some other pieces along the way. Then I might have some client credentials that I need to get issued — that again is going to be a separate process.

So each system that they need to either exist as an employee in, or have access to, each of those are things. And sometimes they have an order associated with them. So for instance, I can't get them client access until they have an email address, so I need to make sure that I get an email address established internally first.

A lot of that is just understanding, what's the order of operations here? Because there are some functions that can't be carried out until this other dependency has already been completed.

Jen Do you keep a list of the processes that you need to do and whether or not you've automated those?

Rob It's all right there in the playbook, and they're all dated. And I even have a little spot to put initials when it's complete, so even this document can be shared among a number of different people, and there's a spot for someone to just say, "Hey, I did this." That really is that check of accountability, so that I can very quickly look at something and number one see if something's done, but also who did it.

Jen So this is the template for one cohort of onboarding, and you duplicate it for each cohort. Interesting. And do you find yourself iterating on it, or are you kind of past that point where it pretty much runs the way it should?

Rob I'm past iteration. I probably haven't made any updates to it for a couple of years. But I did spend a long time iterating, really as our company went through a number of different iterations in how we did things.

We were a brick-and-mortar environment when I started, and then in 2018 we started to move to a work-from-home environment.

Jen That was prescient.

Rob Yes, it worked out very well for us. But when you make a change like that, processes change as well. When I say sending out invites, that only happened when we weren't all gathering in a classroom somewhere — instead we were gathering in a virtual meeting room.

So it's really important, when you are making changes to business processes, that if you've got something like this, you understand how it's going to impact what that's all doing. Because I had to make quite a few changes. Or if we onboarded a new system, something that people needed access to, or migrated from one system to another, I had to go in and make changes.

Jen Other than employee onboarding, are there any major processes that you found have been most helpful to use this kind of automation for?

Rob Before I came to Customer Direct I used something very similar, and it just had to do with how we go about coaching and developing people that you supervise at agent level.

There are much more advanced pieces of software out there that do everything that I'd built in Excel, but at the time it was a way to help supervisors reduce time doing data entry and spend time knowing what they needed to coach, and actually go and spend their time coaching.

There were a lot of similarities. So for instance, it would automate scheduling coaching for you. I would say, okay, I need to have a coaching session with Jen, and I've got it in her coaching plan that it's going to be on this topic, this behavior. And then through the push of a button it would create an invite, so that time was blocked off on my calendar but also on Jen's calendar, so that Jen knew when that session was going to happen, she would know what we're going to talk about, and it holds both of us accountable to ensuring that that happened.

I think a big challenge for everybody, myself included sometimes, is just time management, and really making sure that you set aside time to do the things that you know will really bring value to the organization that you work for — and not do those things that really don't bring a lot of value, that machines can do for you.

Jen That seems like the theme of this episode. I think that's brilliant. I would love to continue the conversation in the future, maybe revisit these things, but I think I've taken up enough of your time. Do you have any other tips for the average support manager or support ops or services ops person who might be beginning this journey?

Rob I think the big thing I would say is you don't have to solve everything all at once. And you won't — you will not solve everything all at once.

You mentioned, did I need to iterate on this? Answer is yes. But that's everything. Everything is iterative. So just start with the one thing that you can fix or improve today. Fix it, improve it, give it some time, do some testing, get some feedback, make sure that it's working, and then turn your attention to the next thing that's going to help you be more successful or more efficient, whatever the case may be.

And as we already talked about — reach out. Nobody judges you in a negative light by saying, "I'd like to see what suggestions you have to help me." That's not going to be looked down upon. I know people feel like, I'm in this role and I should know. None of us know what the heck we're doing. Let's be real about this. We don't know what the heck we're doing.

Raise your hand, ask for help, and you'll find that there are a lot of really generous people out there that will give you advice — some of it that you can take and implement and love, and some of it you can just go, it's not for me, and that's okay.

Jen That's brilliant. I love that. I think that'll make a great little clip for either of us to use and reuse. It's so true, too.

I think that impostor syndrome is real. I feel it too — like, I don't want to ask what a VBA is, because I'm supposed to know. I've been in this field for so long, I should know everything by now, and I don't want to reveal myself as somebody who is not an expert.

But you're right, we all came to this field with varying levels of experience, and came through — just like we were talking about earlier before we were recording — support versus services, call centers versus SaaS support. They're very different worlds with very different acronyms, and we all have different expertise that we can learn from.

Rob Absolutely.

Jen That's why I'm doing this podcast.

That's it for today. If you're spending too much time on repetitive work, take a page from Rob's playbook — literally. Start small, automate what you can, and free up time for what matters.

If this episode gave you ideas, hit subscribe, and also subscribe to our email newsletter for access to our whole library of processes and playbooks. See you next time.

Under two minutes to live, no IT ticket required.

See pricing