Introducing Vaccine Bot — automated vaccine intake for pharmacies
< Blogs

How ReviveRx Uses AI to Scale Compounding Pharmacy Operations

Watch this on-demand conversation with TJ Avalone, Senior Director of Process Optimization at ReviveRx, and Clark Hawkins, former compounding pharmacist and Account Executive at TJM Labs.

Introduction

As compounding pharmacies grow, operational complexity grows with them.

Every prescription requires specialized attention, while administrative work — patient intake, prescription processing, provider communication, refill coordination, and documentation — continues to expand. Over time, these manual processes become one of the biggest barriers to growth.

In this on-demand webinar, TJ Avalone, Senior Director of Process Optimization at ReviveRx, shares how his team leveraged AI to reduce administrative burden, improve operational efficiency, and create capacity for continued growth. Joined by Clark Hawkins, a former compounding pharmacist and Account Executive at TJM Labs, the discussion offers a candid look at what AI adoption looked like inside a rapidly growing compounding pharmacy.

Whether you’re just beginning to evaluate AI or looking to expand your automation strategy, this conversation provides practical lessons from a pharmacy that’s already done it.

What you’ll learn

  • The operational challenges that were limiting ReviveRx’s growth
  • Why the team decided to invest in AI
  • How ReviveRx approached implementation
  • Where AI fits into day-to-day pharmacy workflows
  • The measurable impact AI has had on operations
  • Lessons learned and advice for other pharmacy leaders

Watch the webinar

▶ Watch the on-demand webinar

Key takeaways

AI doesn’t replace pharmacists — it removes administrative work. ReviveRx adopted AI to eliminate repetitive operational tasks, allowing pharmacists and technicians to focus on higher-value clinical work.

Start with one workflow. Rather than attempting to automate everything at once, ReviveRx began with a single workflow and expanded over time as confidence grew.

AI becomes part of the team. Automation today supports day-to-day operations across multiple workflows while escalating exceptions for human review when needed.

Operational efficiency creates room for growth. By reducing manual administrative work, ReviveRx has created capacity to continue scaling without proportionally increasing administrative workload.

About the speakers

TJ Avalone, PharmD — Senior Director of Process Optimization, ReviveRx

Clark Hawkins, PharmD — Former compounding pharmacist and Account Executive, TJM Labs

Ready to learn more?

If you’re interested in exploring how AI can help your pharmacy automate administrative workflows and scale more efficiently, we’d love to talk.

Schedule a demo →

Webinar transcript

Read transcript

Clark: Thank you, TJ, for being here — looking forward to the discussion. And thank you, everybody, for joining. For those I haven’t met, I’m Clark, the compounding account executive here at TJM Labs. Essentially, I work with compounders, help them think through automation and good places to start, and help them understand how this is actually done. My background is in pharmacy — I’m a pharmacist. I worked in compounding for about two years prior to this, and also spent time in a high-volume retail store, so I’m very familiar with what it looks like behind the bench and the challenges pharmacies face. Today I’ve structured some questions, but it’ll be more of a back-and-forth. I want to walk through the entire story arc of how TJ and ReviveRx started using this automation: their former state, how they started onboarding and the decisions they made, their current state, and what they’re looking into for the future. So, TJ — if you could introduce yourself, ReviveRx, and what you’re responsible for, that’d be great.

TJ: Absolutely — Clark, first and foremost, thank you for the invite. ReviveRx is a 503A compounding pharmacy, and we provide custom, patient-specific medications to most of the United States. We’re not in every state yet, but we’re pretty close. I’m a pharmacist by trade, I’ve been at Revive six-plus years now, and I currently hold the position of Senior Director of Process Optimization. It’s a mouthful, but really I sit at the intersection of sales and pharmacy operations. I wear a lot of hats, but the end goal is always the same: drive as many revenue-generating events into Revive as possible, while giving our clinics confidence that we’re a one-stop solution for their growing needs. I lead a team of 10 high-performing pharmacy technicians, each assigned to a sales representative and territory manager. We call these clinic support technicians, and they’re the backbone of the sales team — making sure clinic communication and prescription processing are always moving in the right direction. Scaling Revive has been a lot of fun — always a challenge, but a fun one. And you’ll notice I haven’t mentioned automation or AI yet. One initiative I took on last year was finding some type of data-entry automation to help us scale — and that’s how we found TJM.

Clark: That idea of technicians moving into sales is interesting. Did they start off as technicians and then adopt a sales role over time?

TJ: Yeah. A lot of these technicians were data-entry technicians. We said, “You’re high-performing, and because of what TJM is doing for us, there’s opportunity to elevate your role.” I don’t think it’s a novel role — I’m sure other pharmacies do this — but it makes sense that a salesperson should have a technician who can do their bidding inside the system. These technicians are a step above; they’re helping close most of the sales process from clinic to clinic. And that’s thanks to TJM providing this automation, so we can take humans and put them in more purposeful roles.

Clark: Let’s take a step back. Before you started working with TJM and bringing AI into the workflows, what were the larger operational challenges? What was making it difficult to be more efficient and grow?

TJ: Most of the work last year and early this year was figuring out how to reduce the admin load that comes with our prescription volume. I truly believe it’s not fair to ask a human to type the same prescription 600 times a day. You have a retail background, so you can appreciate what 600 prescriptions means. There’s more meaningful work — tougher prescriptions that require human judgment, not these monotonous, catalog-based ones. On top of that, if a team member can type 500 prescriptions a day, every additional 500 in volume meant hiring another person. That’s a linear headcount problem. I remember looking at our hiring plan and realizing that if we kept growing the way we wanted, we’d need to keep adding data-entry technicians indefinitely just to keep pace — not even to grow, just to keep pace. That’s when it hit me: we weren’t solving a capacity problem, we were just delaying one. Every new clinic we signed meant more headcount forever. At some point you have to ask: is this scalable, or are we just running faster on the same treadmill? And then, stage right, enters TJM.

Clark: That sounds familiar. A lot of the conversations I have, people come to me looking for data-entry solutions. That’s part of why I joined TJM — from my time in pharmacy, that’s such a monotonous role. If you have a high-value technician, it’s not great to have them stuck in that queue.

TJ: Absolutely — and that’s not to take away from the data-entry team; we still have one. But even if we could take them away from the monotony of typing the same prescription and throw them into the more challenging ones that stretch their brain, that’s a win for the human working hard day in and day out.

Clark: 100%. You started with us pretty early — over a year ago, back in mid-2025 — as one of the early adopters. What ultimately convinced you to invest in AI when it wasn’t such a proven thing? And what gave you confidence in TJM as the partner?

TJ: It was pretty much a call to action from our owners. I heard we needed to be more tech-forward — it’s a brave new world with AI steering the ship — and that was enough to send me looking. Through polling and word of mouth, TJM kept coming up from a few different connections. You’d positioned yourselves as a solution using AI to read prescriptions of all kinds — e-scripts, faxes, custom portals — and enter them directly into our pharmacy system. Right then we thought, this fits what we’re looking for. You presented it as a low-friction adoption of something new in a famously high-friction industry. There’s a lot of nuance to compounding and how you get prescriptions in the door. There was no ripping out of systems, no rebuilding workflows. You gave us the assurance that everything was HIPAA-compliant and that you weren’t retaining any of our data — zero data retention was big on our list. We’re a large organization, and we care deeply about quality and compliance, so that mattered a lot. Between the word of mouth and your presentation, it made the decision relatively easy. And this wasn’t a blind leap of faith — we implemented gradually before making any enterprise commitment.

Clark: We try to make it as low-friction as possible, and it’s built by pharmacists, so we’re covered on compliance. But one point of friction always comes up: a lot of folks are bought in, they know this is where it’s going, but they have to bring it up to their staff — who are often the ones helping train the bot. So you need buy-in from them. How did those conversations go?

TJ: There was some reasonable skepticism at first, and rightfully so. These bots meant taking work away from our hardworking data-entry team, and a whole group of pharmacists now had to make sure every prescription a bot typed was correct. They were being extra judgmental, if I’m honest, because they assumed the bot would execute perfectly from day one. That’s a hard conversation, and we gained buy-in over time. Once we proved the bots could accurately type prescriptions — and the data-entry team was already handling the monotonous ones — the team could focus on the more meaningful, complex prescriptions, and the perception turned around. We had fun with it: the team got to name the bots. Our first one’s name is Roxy, by the way. We started Roxy in 2025, and as our bot army grew, the team became super receptive, giving real-time feedback to the small team managing this relationship, including myself. One thing worth mentioning — for everyone trying to do this — we have one of our most trusted pharmacists helping me run these bots. He was in the day-to-day verification and processing workflows, and he’s the point person when working with your engineers, whether improving the bot logic or handling maintenance. It made the team much more comfortable knowing that although the bots were typing the prescriptions, a human was helping manage and guide them. So there was skepticism that slowly went away, and now we have a bought-in team. Now the bot is just another team member.

Clark: Your staff learns quickly. We build these bots custom to the pharmacy, because every pharmacy operates a little differently, so we need a point person and really good communication to train it around your rules. It’s not one-size-fits-all, and your team has done a fantastic job of that. I want to get into what the bots are actually doing. When you started to implement, what task did you start with?

TJ: We started very, very narrow. We started with data entry, and because of the nuance in every prescription that comes into a compounding pharmacy, we didn’t think a broad automation push was the right move. So we chose to hone in on one clinic that sends prescriptions that are consistent, with similar products and direction sets that were easy to understand. I remember one of your first presentations: is it repeatable, is it consistent, is there a certain logic that happens each time? That’s what we went after first — the low-hanging fruit, as our proof of concept. Our pharmacy system has a prescriber portal that lets prescriptions flow in a much more digestible fashion than trying to interpret a Surescript or an e-script, so we started there. Of course we accept prescriptions in any compliant format, but it made sense to knock out the portal ones first. Week over week, we tracked our performance and error rate, and so did you, to make sure we hit the goals we’d set — and the ones you’d promised. We held you to a standard: there’s a specific error rate we allow; below that is unacceptable, above it means we’re in the green. We started with one bot, and that quickly turned into cloning that same bot twice to handle the volume. We went back and forth with TJM’s engineers to build out logic that wasn’t always obvious — every pharmacy has a different opinion on how directions and day supplies should be structured, and your team was open to bending the bot’s logic to match what we believed was the best, compliant way to process prescriptions. Most importantly, we wanted any team member who interacted with prescriptions entered by these bots to be set up for success. So we started narrow, with one clinic, and grew it out incrementally.

Clark: That’s determining a good place to start — we’re not trying to boil the ocean. Often certain types of faxes, or anything through a portal, is a fantastic place to start, or one or two high-volume doctors. That’s not to say the bots can’t do the complex things — you’re continuing to refine rules to this day. It’s a continuous process.

TJ: It hasn’t ended here. We’re still pinging your team with ideas on how to capture as much prescription volume through these bots as possible. And as you mentioned, there also needs to be someone on your side who acts as our project manager — your team has done a great job of making sure we have the resources to get the bots to type as much as possible.

Clark: So today — what are the bots, physically? Where are they in the pharmacy? Do you see them, or people interacting with a screen?

TJ: At first, yes. We had designated machines where someone could pop in and watch the bot work, and that was fun — people from all departments would walk in and see the bot working without anyone touching the computer. For a while there was a line out the door to watch. As we grew, with your team’s recommendation, it wasn’t feasible to have a room full of machines running at all times — that would be a 120-degree room with all those laptops. So you helped us set everything up on a virtual server. We’re not viewing the bots work anymore; everything happens on the back end. But we still have visibility into how many bots we have and whether they’re working. The uptime has been spectacular — running these bots 24/7 is key; there are no breaks. As long as there are prescriptions in the queue, they should be typing them. It just makes more sense than having designated laptops sitting around — it works for us and for you.

Clark: Even more observationally — what has the actual impact been? What’s the delta between how you worked a year ago and now, with automation?

TJ: I think it’s made a profound business impact — and we still have a long way to go. Right now we’re at about 60,000 prescriptions typed per month by these bots — about 58% of all our incoming volume. A huge dent month to month. We haven’t hired any additional data-entry technicians since implementing these bots, and we’ve moved 10-plus technicians into more critical roles — some to my team as clinic support technicians, others across the organization — because those data-entry roles are no longer needed. We still have a hardworking data-entry team handling the other 40-some percent we haven’t automated yet, and kudos to them. Our lead times on getting prescriptions typed and moved to a pharmacist have never been better. Before TJM, we’d sometimes be two or three days backlogged on typing. Now we’re typing prescriptions literally within seconds of them coming in — an immediate plus for us, for clinics, and for patients. Another indirect benefit: adding these bots made us look at our internal processes more closely. We realized some workflows already available in our pharmacy system weren’t being used as designed. Things a human would quietly fix and move past were now being flagged by the bots — and we’d look and go, “You’re right.” Due to muscle memory and sheer volume, our technicians and pharmacists were fixing these errors without telling the clinic or leadership to get them actually fixed. We were ignoring the root cause, and now we have to go figure it out. That’s one of the best benefits — we can go back to clinics and say, “We appreciate your business, but would you mind making a few tweaks to how you send prescriptions?” So the biggest benefit now is asking: what else can we do with automation, what else can we do with TJM?

Clark: What other workflows have you thought through — what’s the forward-thinking goal?

TJ: Lofty goal, but we’d love to have 100% of prescriptions typed by automation — that’s the number one goal. We’ve only talked about data entry on this call. All portal prescriptions now are mostly typed by a bot. We’ve delved into e-scripts (Surescripts), and I’m sure you know how messy those can be, especially when sent to a compounding pharmacy — a lot of those EHRs weren’t designed to send to compounding, so they’re often missing elements we need every time. Your team has been gracious enough to give us a lot of time to figure out how to automate that — allowing the bots to look at the prescription and grab all the elements even when they’re in unusual areas. The last piece would be fax prescriptions. We haven’t jumped into that yet, but you touted it as an ability of these bots, and we’re excited — we have very big accounts that still fax us prescriptions. Fax is still a thing in 2026, and these prescriptions are very repetitive and look the same each time, so we’ve discussed getting this off the ground in the next couple of months. For data entry, 100% of volume typed, as close as we can get with a very low error rate, is what we’ll shoot for. We’re also — our latest bot — helping us read and decide what to do with specific tasks generated by patients in our system. If a patient calls or uses our automated line to request a refill, that drops into our buckets as a task, and we’re working with TJM for a bot to read those tasks and decide what to do — pass it to a human, process something, or adjudicate. Every task the bot handles is one less call to a patient or clinic and one less task for a technician. And we’re currently working on a bot to help with accounting — invoice generation. We have an innovation roadmap; we still have a few items to dream up for you, and we can’t wait to see what this looks like in six months.

Clark: Excited as well. There are a lot of creative use cases. Data entry is the obvious one, but as people grow, they think of unique things — in the compounding lab, making certain prescriptions a priority, or reaching out to certain patients. You said 58% automated — it’d be helpful if you could share how you’ve set up the guidelines the bots operate within. As of now, what happens when the bot isn’t completely confident on a prescription, or you’ve told it not to handle a certain prescription? Where does it get sent?

TJ: Great question — we were curious about that when we first started. The last thing we want is for the bot to not know how to do something and just drop it — mark it complete and let go of the task. Then we don’t know where it is, and that’s a lost prescription, which can’t happen. So we discussed this early on. If the bot is unsure or is blocked by a system setting — say the prescriber’s DEA is expired and your pharmacy system blocks that — we worked with TJM to have it ping us and place the prescription on a hold status, which has been excellent. You give us visibility into every prescription the bot processes, and any rejection is pinged to us via an integration with our Microsoft suite. You also provide a growing list of every prescription the bot types. That’s such a valuable feature, because we never want anything to get lost. When it happens, it’s passed off to a human, and we do a full root cause: is it a clinic issue, an internal issue, or a bot issue? Is it something to get with the TJM engineering team about? Something to go back to the clinic about? Something we’re doing internally that we didn’t know about? One of the best things is that we’re now able to root-cause a lot of what was probably being ignored in the past, and find a lasting solution.

Stop hiring more. Start automating smarter.

Let's show you how AI agents handle your admin backlog—without changing your software or your workflow.