Skip to main content

7-Eleven GenAI Maintenance Assistant: AI Agents for Technicians

Summary

  • 7-Eleven deployed a GenAI maintenance assistant as a Microsoft Teams chatbot to help frontline technicians troubleshoot revenue-generating equipment across 85,000 stores in 19 countries, covering more than 600 documents, 20,000 pages, and 31,000 equipment parts.
  • A multi-agent architecture routes requests through a guardrails and handoff agent to specialized agents, with Databricks Vector Search using hybrid BM25 keyword matching, embedding retrieval, and reranking, supplemented by ServiceNow context and web search for complex queries.
  • MLflow Traces provide agent observability with token usage and cost tracking per request, while Databricks AI/BI dashboards connect Delta tables to adoption metrics and business KPIs to measure the national rollout's real-world impact.

7-Eleven GenAI Maintenance Assistant: AI Agents for Technicians

Watch: 7-Eleven GenAI Maintenance Assistant: AI Agents for Technicians
The 7-Eleven GenAI maintenance assistant uses AI agents to help frontline technicians troubleshoot equipment, retrieve documentation, identify parts, and reduce equipment downtime. This case study explains how 7-Eleven deployed the Microsoft Teams chatbot nationally while supporting more than 600 documents, 20,000 pages, and 31,000 equipment parts.
Learn how guardrails and a handoff agent route requests through specialized agents, Databricks Vector Search retrieves internal knowledge, and ServiceNow provides troubleshooting context. The architecture combines embedding retrieval, BM25 keyword matching, reranking, multimodal document processing, and web search. It also uses MLflow Traces for agent observability, token usage, and cost tracking, while Databricks AI/BI dashboards connect Delta tables to adoption and business KPIs.
7-Eleven GenAI maintenance assistant case study: https://www.databricks.com/dataaisummit/session/ai-agents-frontline-7-elevens-genai-maintenance-assistant
Agentic systems and RAG tutorial: https://www.databricks.com/resources/demos/tutorials/data-science/ai-agent

Chapters

FAQs

What problem does the 7-Eleven GenAI maintenance assistant solve?

Revenue-generating equipment such as slurpee machines and coffee machines cause store downtime when they fail, and technicians previously had to search manually through hundreds of documents and thousands of parts to diagnose issues. The GenAI assistant gives technicians a conversational interface to retrieve troubleshooting guidance, parts information, and documentation in real time through Microsoft Teams.

How does the multi-agent architecture work in the 7-Eleven maintenance chatbot?

A guardrails and handoff agent routes incoming technician requests to specialized agents based on query type, such as equipment knowledge, parts lookup, or web search. Databricks Vector Search retrieves relevant content from more than 600 documents using hybrid BM25 keyword matching, embeddings, and reranking, with ServiceNow providing additional troubleshooting context.

How does 7-Eleven track the performance and cost of its AI agents?

7-Eleven uses MLflow Traces to monitor agent behavior including token usage and cost per request, giving the team visibility into how the system performs across thousands of technician queries. Databricks AI/BI dashboards connect Delta tables to adoption metrics and business KPIs so the team can measure impact from the national rollout.

How did 7-Eleven handle technical documents with mixed text and images in the knowledge base?

The system uses multimodal document processing to handle PDF maintenance manuals containing both text and diagrams. This preprocessing step enables the vector search layer to retrieve relevant content from complex technical documents when technicians query the assistant about specific equipment.

Full transcript

[00:08] Good morning everyone. My name is Sume Datar. I work for 7-Eleven as an engineering manager heading Genai research and engineering. A little bit about myself. I have over a decade of uh work experience working in the machine learning, deep learning and genai space
[00:25] building predictive models, proprietary models, training, inference and also applying that into our uh real world use cases and showing value. So yeah, that's about me. Uh today I would like to talk about AI agents for the front line.
[00:42] Right. So it's our 7-Eleven genai maintenance assistant. It's a chatbot application that we built for our maintenance team. Uh the main focus today is okay um what was the uh exact problem and then how did we go about
[00:59] solving it? What systems did we include and then how did we finally do a national roll out for our solution. All right. Uh before we get started on the topic I first would like to introduce our company 7-Eleven. Not many
[01:16] people may know about this. It's a global brand and we have 85,000 stores across 19 countries in the world and um sorry 13,000 stores are in USA and Canada.
[01:35] 50% of US population is within 2 miles of a 7-Eleven. Next, I also wanted to show some of the metrics here, but you'll kind of understand during my presentation as to why I'm showing these numbers. We sell
[01:52] roughly 240 million hot food items per year. We sell 52 million bananas every year. We sell roughly 278 million cups of big gulp where you can have your
[02:07] beverages. And then we have sold roughly 350 million cups of coffee every year. That is kind of the scale. And we do a lot of machine learning, deep learning, data science, data engineering as well.
[02:28] Last year at the same conference, we were recognized by data bricks uh in the retail and CPG segment. We won the award for modernizing our entire uh data architecture using the right data practices and uh using AI ML uh within
[02:44] data bricks and we were recognized across amongst other companies. Next I would like to talk about 711 maintenance. Right. Before we get into the problem, first I would like to specifically say like talk more about
[03:01] 7-Eleven maintenance like what is it and set the context. We have revenue generating equipments. So if you go to a 7-Eleven store, this is how the store looks like. Uh when you go near the coffee bar, you kind of see
[03:17] the slurpee machine, you see the coffee machine, you see the beverage machine, and then you also see like lot of vaults, right? These are called revenue generating equipment. It's in the name because it generates revenue and we have to serve our customers because it gives
[03:33] us revenue. Next, uh building and property, right? For example, doors, the board, the 7-Eleven board, the doors, uh plumbing, HVAC, lighting, all of this comes under
[03:48] building and property. Next we have our maintenance team. I just showed you the numbers, right? Uh to get that kind of number to run these equipments efficiently and make sure we cater to our customers and we provide
[04:04] what they want. The backbone for that is our maintenance team, our army of maintenance team. And the last is our maintenance documentary repository. Maintenance document repository. Right. So we have a
[04:21] very well organized document repository. Our maintenance team is very well matured. We have like catalog documents, parts documents, error documents, internal documents, a preventive maintenance documents and all of this. We just have like lots of these
[04:38] documents. Now let's get into the exact problem right increased equipment downtime. So here you see an image of a ice cold uh
[04:56] brewing machine and it's not working. So what happens is they just put a sticker that the machine is not working. What happened in the process is a customer would have come they see that it's not working and then they go away and then we lose some money in the process. Similarly, our coffees are uh famous
[05:14] across the country and at 7:00 a.m. 7:00 a.m. in the morning, if a customer comes to our store to get coffee and if the coffee machine is not working, then that's a loss for us, right? How do we make sure our equipment downtime is really short and our equipments are
[05:31] running all the time to cater to our customers? The next is information retrieval is a challenge. I did say that we have like a huge document repository but it's also well organized but it is still a challenge because these technicians have
[05:49] to go to the store and they have to solve the problem within a short window or within just few days and they don't have a laptop they just use their phone and even though it's in a central place they they have access to it but the problem is it's really hard for them
[06:06] because these PDF files run through several hundred pages and it's so hard for them to find the relevant information. Next is training retention is low amongst new technicians. Right? So the
[06:21] technician journey is such that they join and then they go through training and they've been trained by the regional maintenance trainers. These regional maintenance trainers are experienced folks who know in and out of the system and they train the new technicians. But
[06:37] once the training is done, the technicians find it really hard because they just learn it during the training and they sometimes forget. What happens is they again call the regional maintenance trainer and ask for help and uh that adds a lot of latency in the
[06:52] process and uh how can we reduce that and make the technicians more productive. Right? All right. The solution for all of this was our 7-Eleven maintenance chatbot. What is the 7-Eleven maintenance
[07:08] chatbot? Right, it's an intelligent agent-driven chatbot that helps technicians quickly find information on equipment catalog, parts, and errors by leveraging internal knowledge and external sources. So next I want to
[07:25] break down the solution modules that we have and what's the offerings of these solution modules. So first let's go through the equipment module and what solution the equipment module provides. The equipment module provides
[07:42] information related to catalog. The equipment pro module provides information related to preventive maintenance. So we have something called preventive maintenance. It's very similar to your yearly car maintenance that you do. We do it for our equipments as well. And these documents are
[07:58] internal and you don't get it on the internet. And then we have error code definitions, right? For some of our equipments, we have sensors and then these sensors, they give out some kind of numbers and it's some kind of an error code. And of
[08:15] course, the technicians will not know what is the specific error code for. it is not as simple as our 404. The u error code definition is something uh that the solution also provides and uh the scale right we have 600 plus
[08:30] documents running through more than 20,000 pages right the chatbot can easily provide answers from uh at from the data at this scale. Next is the parts module, right? What is
[08:46] the solution of the parts module? So the parts module has a library of 31,000 parts in details, right? So if you ask a question in natural English language, you get the exact part number, the brand etc. This solution provides that. And
[09:03] then uh it also provides the updated part number by self updating from the web. Uh there is a specific slide related to this. I'm going to talk more about that as well. The third is the brainstorming module. Right? What does the brainstorming module do? Brainstorming module helps
[09:21] connect connect the chatbot to the internet. Sometimes what happens is even though we have 600 plus documents when there is a new doc new document that we have not added and if a technician asks a question and if we don't know we just say we don't know and that's where u
[09:38] they have the capability to go and click within the chatbot connect to the internet and get results rather than them going to the web browser and then searching through different links. Uh the chatbot can also understand images. uh there are situations where
[09:55] there are some parts which are not that easily accessible through your fingers or something like that but still you need to know what the part is. So what these technicians do is they take a photo and then they give it to the chatbot and then the chatbot gives the relevant information about the part.
[10:12] Last it also connects to support management systems. So we use service now to do our uh ticket management and uh we are able to connect our chatbot to service now. You put like the incident number or something like that. It pulls all of the information related to that
[10:29] like the description like the business service resolution and also there'll be like lots of comments, right? So the chatbot can go through all of that and summarize rather than a technician going through individual tickets. All right. Next I want to go into
[10:46] talking about the technical architecture. How did we design this system? Uh so this chatbot sits in Microsoft Teams. We decided to just go with Microsoft Teams and the user asks a
[11:01] question and then we have a guardrails module, right? What does the guardrails module do? The guardrails module will only uh allow the data to flow into the other parts of the ecosystem only when it is relevant to equipment or relevant
[11:18] to parts. Apart from that, it's locked down. It doesn't allow the user to get any kind of answer or access to the L. Right? From the guardrails module, it goes to the handoff agent. The main goal of the handoff agent is to understand the intent. Right? If you ask a specific
[11:34] question, the handoff agent understands, okay, the intent is related to parts or it's related to troubleshooting or catalog. Right? If I say something like uh the milk uh is not getting dispensed from a coffee machine. In this case, a handoff handoff agent understands that
[11:51] it has to go through the catalog agent and from the catalog agent, it goes through the databicks vector search and that is where we have our entire knowledge base and from data bricks vector search we get the relevant chunks and then we give it to the large language model and then we get our
[12:07] answer. It's very similar with parts and uh with troubleshooting slightly different because this is where we connect to service now and then get more information and then uh give the uh give the entire context to the large language
[12:22] model to finally give us the answer. That's a highle overview of our technical architecture. Next I want to talk about the use case and how our chatbot looks. It's a very simple chatbot application. It sits in
[12:38] Microsoft Teams. So you ask a question something like coffee machine preventive maintenance. It's a question then the chatbot says thinking about your question the exact question and then it provides the relevant answer. This is the LLM generated answer and then we also have thumbs up and thumbs down.
[12:55] This is provided by teams. So when you give a thumbs up we know that okay people are liking it. When you give a thumbs down we also have like additional feedback or just thumbs down is also fine. we get to know okay this is where it's going wrong we go ahead we make those changes and then we also have
[13:11] follow-up questions and uh you can ask about the PDF you can literally talk to the specific PDF of your choice and it also has two other important modules that is the parts module as well as the web search handy right there and why do
[13:26] we have it sometimes what happens is you ask a question and then from our documents we say hey maybe you have to look at this specific part and then it's available able right there. They just click on it and I'm going to talk more about that in my next slide.
[13:45] So in the parts module what happens is once you click on the part we show the list of brands right and once you click on the brand then we show the exact part. Why does this happen? Let's just take an example of coffee machine in our stores. We have roughly five brands of
[14:00] coffee machine running in our store. If I just say hey I want to know the brew module the brew module is there in all the coffee machines but I want to know for a specific part and if you don't have this parts module the technician should maintain some kind of an excel
[14:17] file which has like 200 odd tabs with different brands and they find it really hard to check it on their phone. This is where we kind of shortlist with our embedding search and say that okay these are the list of brands that you have to look at just for coffee. click on the brand then automatically we look at the
[14:34] question and then we do the reranking and provide the relevant part information. The web search module is something similar. Sometimes the uh the documents in the document we don't have the relevant information so we just say we
[14:49] don't know. So the technician just clicks on web search it goes to the internet and provides the relevant information. There are some websites that they actually look at and we have set up these prompts and also tools to make sure that the web search agent will
[15:05] go to these websites and provide relevant information. All right. Next, I want to just go through an example workflow. Uh I'm sure many of you would have built chatbot
[15:20] applications like rag based chatbot applications but this was a very interesting workflow for us. I wanted to share with you all. This is called as outdated parts workflow right this is a real real question it happened in one of
[15:37] our stores. It just says find 562682/3 like what is this just a number right? And then uh it's asked in Microsoft Teams. Sure. Then it goes through guardrails. And then guardrails says okay this is something relevant to
[15:54] equipment or parts. So this is safe. I allow this and then it goes to the handoff agent. The handoff agent understands the intent right here. Okay. This is related to parts. In my technical architecture you saw the other two modules but the handoff agent
[16:11] decided this time it should go to the parts module. It goes to the parts module and then it goes to databicks vector search and then it gives the results back. So I have 1 2 3 and four in next minute I'm going to talk more about that and then it goes to the large
[16:26] language model and then you get the response back to the user. But this is how the output looks like right uh there's a lot of content here but u in summary this specific part number is
[16:42] outdated and there is a new part number related to this now I'm going to walk you through this right so first it goes to one that is data bricks vector search and then two that's marked in red it said oh sorry I don't have the part number for this and then automatically
[16:58] it goes to three That means it goes to the internet and then on the internet it says hey this specific part number is outdated and discontinued. This is the new part number related to this and then that's given back to the parts agent. Now the parts agent goes back to data
[17:14] bricks vector search puts the new part number gets the relevant part part information and as well as the link so that the technician can go and just buy the part automatically. Right? Uh this was a requirement that came from them because they would not know. They would
[17:30] just put a part number because the regional maintenance trainer would have told okay this is the part number. They put it they get lost. They go onto the internet they look for it then they come back then they put the new part number. We could easily shave off like five minutes of the technician's time. So
[17:48] this is an example that I wanted to show where the agents are talking to each other. All right, next let's get into some of the implementation details. Right, we went through the technical architecture.
[18:04] Now I want to talk more about how did we implement this system. Okay, so first step is the data prep-processing step. We used a multimodel large language model. So our
[18:20] uh documents are not as easy like just text or text with table but our documents have lot of pictures different fonts different formats it doesn't even follow a sequence right sometimes you
[18:36] have like 1 2 3 and then like 4 5 6 on the other side or 1 2 3 4 dash space 456 like we have all of that so we built our own proprietary prompt again it was a lot of trial and error and almost 3 months of effort to make sure we could
[18:52] easily uh translate from PDF to text and make sure the textual information is relevant and there is no hallucinations happening.
[19:07] Next I want to talk about similarity search right now that you have these wonderful large language models and all they need is relevant chunks. Also, you cannot just dump everything to a large language model. That's not the right way to do it. So, the best way to do it is
[19:22] to make sure you put in the muscle into getting the relevant chunks, right? So, we tried different approaches. What really worked out for us was the hybrid search document retrieval. So, uh with the embedding based retrieval, we get
[19:38] some chunks. With BM25 string matching and keyword matching, we get some chunks and then we do like weighted search and we do like reranking through something called as recursive rank fusion and then we get the new ranked chunks which are
[19:54] really relevant but I would like to go deep into uh the individual components here. So this is how it starts. I just took a random example iPhone 15 err504 photo sync issue. It's a random public
[20:10] document. And then step number one, these are the chunks. Chunk A, chunk B, chunk C, and chunk D. Right? And then step two, we go through BM25 results. That is keyword-based matching. And BM25 said, hey, the relevant chunks are A, C
[20:29] and B. And then we go through our vector search results. And vector search results said it is B, A and C. Right? So there is a slight um misalignment here. And then how do we fuse this together to
[20:44] make sure we get our relevant chunk and this is where we do the recursive rank fusion and that will automatically say okay the relevant information is in a b and it does give the uh waiting automatically. Uh there is a whole
[20:59] article that I've put it later in the slide. You can go through it. There's an equation. I didn't want to put that here. And you don't have to worry. It is managed by data bricks. It's available off the shelf. I just went deep into it because it was so good. But you can just
[21:17] use it off the shelf. It's scalable. It has tracibility. You can track different models etc. So we use this. Next I want to talk about observability. Now that we have our solution in production, what is happening? uh like
[21:33] how is the performance of our chatbot application. So this is where we are using MLflow traces again by data bricks like what are the advantages of MLflow traces right so you get to know the entire story because we have built a
[21:49] agentic system which has multi- aents I would like to know okay if this was the question asked what agents got triggered and eventually what was your final result so here I put some boxes as to like what agent it called what was the question asked and they also have some
[22:05] bells and whizzles about tokens. The token count and the cost. I think nowadays token maxing and burning tokens is pretty common and we got to be so careful about it. So we handle all of this as to whenever you make an API call, we also record the tokens. We see
[22:21] the cost, we see how many tokens are being consumed and all of this is provided by ML flow traces. Next I would like to talk about KPI tracking. Okay. Okay, through MLflow
[22:36] traces, it was more about the uh gen AI solution. Next, how do you translate this to business metrics, right? So, this is where we use AIBI dashboard. So all of our data it sits in delta table and from delta table there's a seamless
[22:52] integration to AIBI dashboard and through AIBI dashboard we get to know uh like what are some of our business metrics like uh daily usage the total number of uh users who are using it number of question that's been asked how
[23:08] many users are actually coming back on a daily basis right like these implicit signals is what we capture with the AIBI dashboard And other useful information that AIBI dashboard provides is you can schedule some of your emails to send
[23:24] these snapshots to your leaders. We send it on a weekly basis so that they are updated on what's happening. Next, I want to talk about some of our results. This is the map of US. I agree. But this
[23:41] colors the red, orange and yellow shows where all our chatbot is being used right now. It's being used in like major parts of US. And uh what were some of our achievements, right? U we could scale
[23:57] this chatbot application to thousand plus technicians. Uh we are getting 50 daily active users and roughly uh 100 plus daily questions are being showcased like every single
[24:13] day we're getting like 100 questions a minimum. Next some of the testimonials the technicians themselves have told this chatbot is better than chat GPT and Gemini. Nothing against them but it's
[24:31] just that we were able to connect our internal sources with our external sources. For example, we have some documents like error definitions, preventive maintenance that you don't get it on the internet that is internal and similarly we don't know certain things and that's where we give them
[24:46] access to the internet. So that's why they find this really useful and better than either chart GPT or Gemini because if they go with that then you have to upload the document do a summary like we have basically identified all those frictions and made it seamless and
[25:02] frictionless. Next, I would like to talk about some of the learnings, right? Like what were some of our learnings? Um, I broke it down into three important buckets. Simple UI, tailormade solutions, and
[25:18] keeping the customers excited, right? So, let's go into each. Let's talk about simple UI. Integrate your solution with an existing daily use tool to avoid friction. So, we used Microsoft Teams. Why did we go with Microsoft Teams?
[25:34] because their day-to-day workflow is in Microsoft Teams. All of the other technicians are in Microsoft Teams. Their announcements happen in Microsoft Teams. So, it was very easy to just put it right there rather than putting a separate user interface and then telling them, hey, you got to login and all of
[25:50] that. Right? Then the second thing was users do not like clicking multiple buttons. So, sometimes we thought that giving too much control to the agent in the initial stage is not useful. So we thought maybe we should give like button something like more information or
[26:06] something like okay do you want to connect to the internet like if we put that um small uh uh like action to click or something like that that didn't help here and the agents preferred us to directly connect to other sub agents
[26:22] automatically and give them relevant answers. They didn't like too many clicks. Next let's go into tailor made solutions. Right? We didn't build a single gen AI platform uh wherein you can just spin up multiple agents but rather we worked very specific to the
[26:40] department. We didn't take too many use cases. We just took this specific department and we worked with them and made sure we only provide solutions to them. Right? So they said something like parts agent u catalog agent like all of this very specific to maintenance. So
[26:56] the tailor made solution actually helped and of course agentic AI helps in seamless integration across components. I showed you the example workflow how you could just connect multiple agents can talk to different agents and then eventually get your answers. Last and
[27:13] the most important thing is keep the customers excited. Right? First when we went to that team we said that hey we're going to build a document retriever for you an intelligent document retriever. They didn't trust us. Within a week, we went with a P to them. That's when they
[27:29] started listening to us. And then subsequently, we took them really seriously, shared progress regularly. We did get insane feedbacks. They would just say that, hey, this just doesn't work. And some of the technicians were like really harsh, but we took it on our
[27:45] stride, understood what was the exact pain point and went back. Going back to them regularly and showing them what they want is what that helped us out. and then rolling out incremental features. For example, they have a painoint and when you give it back to them as soon as possible, that is when
[28:02] they really like it and they start using it more and more. And lastly, workshops and trainings for education, right? So what we did was we built some kind of a playbook and uh we taught them what are the best ways to use the chatbot and
[28:18] sometimes they themselves came with innovative ways that we didn't know but um we did these workshops and trainings we broke it down into 16 different regions across the country and we did regular training regular trainings regular office hours and then we also
[28:34] identified who are some of the users were not using why they're not using and we also had some of the users were extensive actly using it and we would call them as power users and we would go talk to them as well like like how is this helping you. So all these uh customer engagements is something that
[28:51] really helped us. In summary, I started off with 711 maintenance like what are some of our equipments, why it is useful, why it should be on all the time and then we went into what is our
[29:09] exact problem that we have, right? And then we went into the technical architecture. How did we design this system? And then we just took one simple workflow about the outdated parts and showed how agents can talk to each other
[29:27] and we went into the implementation details and explained more about data prep-processing some of the challenges that we have and then we went into similarity search. What we really learned is getting the relevant chunk is important because the LM can do its
[29:43] magic but giving the right chunk is where uh we have to put in our muscle and that helped us. And then observability once you pull it in production how do you make sure your solution is working well not just about business but like how are the metrics
[30:00] like are we getting relevant answers and and uh tracking the story right because we building an agentic system it's also the story like what was the question and why we ended up with a specific answer and then we went into KPI tracking what
[30:18] are some of our business KPIs is how do we show these business KPIs to our leaders and how we leverage AIBI dashboard to do that and uh I have some links. So we do have our own
[30:35] uh 7-Eleven uh maintenance chatbot uh use case that we published with data bricks and I also spoke about the hybrid search and uh a lot of the algorithmic information is available there as well.

Learn more about the Databricks Data and AI platform.

The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.