How a Restaurant-Tech Company Built a Photo-Reading AI SMS Support Agent with n8n

A restaurant-tech company built an AI SMS support agent that reads customer photos, answers from its Notion knowledge base, and hands unclear cases to humans.

Oct 16, 2026
How a Restaurant-Tech Company Built a Photo-Reading AI SMS Support Agent with n8n
TL;DR: A Connex consultant built an AI SMS support agent that reads customers' support texts and the photos they send, matches them to the right article in a Notion knowledge base, and replies by text, with a confidence gate that hands anything uncertain to a human. It went from a written spec to a working, regression-tested agent in 12 working sessions.
AI SMS support agent: customers text a photo of the problem. Photo by freestocks on Unsplash
AI SMS support agent: customers text a photo of the problem. Photo by freestocks on Unsplash

The situation

The client is a small software company (under 10 people) that sells self-ordering kiosks to restaurants. The kiosks run on iPads connected to the restaurant's point-of-sale system. When something goes wrong during a lunch rush, the restaurant owner doesn't open a ticket. They text the support line, usually with a photo of the kiosk screen.
Support already lived in two places: a shared business phone line in Quo (formerly OpenPhone), where the whole team could see every conversation, and a public Notion help center with dozens of numbered troubleshooting articles.

The problem

Every incoming text had to be read by a person, matched to the right article by hand, and answered by hand. Customers often split one problem across several texts ("screen is dim," then a photo, then "still not working"). The client wanted a first line of support that could interpret the photo and the text together, send back the fix steps and a link, and follow up an hour later with "Did that help?"
The client set clear constraints. If the agent wasn't confident, it shouldn't guess. It should stay quiet and alert the team, because they could see every open conversation in Quo and step in. The client also set a two-week window: an internal version to test in week one and a production rollout in week two. The initial goal was to automate about half of incoming support requests, with an 80% answer-accuracy target for tuning.

What they'd already tried

The client had written a detailed spec and posted it in an automation-platform community forum, looking for someone to build it. The replies were generic pitches. The spec was clear. What was missing was someone to handle the hard parts: reading images, grouping multi-text conversations, and getting the model to quote the documentation instead of improvising.

What we built: an AI SMS support agent in n8n

A Connex consultant built the agent in n8n, connected to the client's Quo line, their Notion knowledge base, and OpenAI. All the work happened in ZoomFlow sessions, live working sessions with the client.
  • Message grouping. Incoming texts from the same number are collected over a short window and answered once, so a three-text description gets one reply.
  • Per-customer memory. Each phone number has its own conversation context. It resets automatically after 24 hours and can also be cleared manually.
  • Photo reading. Customer photos are converted into a text description of what's on the kiosk screen. That description is passed to the agent as a system message, so it outranks a vague customer description when the two conflict.
  • A structured knowledge base. The help center became a Notion database with one row per issue, reference pictures, and an AI-generated description of each picture. Descriptions regenerate when an article changes.
  • Confidence gate and handoff. If the agent can't confidently match a solution, it doesn't reply to the customer. It alerts an internal Quo number instead. Unresolved requests are routed to a person.
  • Follow-up and status tracking. After the agent sends a fix, it checks back an hour later. Each conversation is tracked as open, solved, or transferred in Notion.
  • A regression test harness. A test database of real support cases and a separate test number send scripted texts and photos to the agent, so every prompt change can be re-tested against the same cases.

The hard part: wrong answers that looked right

Early testing showed the agent picking the wrong article for screens that looked alike. When the client and the consultant reviewed it together, they found the AI description of one reference picture matched a neighboring issue's photo better than that issue's own description did. The fix wasn't a bigger prompt. They corrected the reference descriptions, added a "tiebreaker notes" column so the team can spell out how two lookalike issues differ, and told the agent to prioritize reference-picture matches.
The second failure was improvising. The model paraphrased fix steps instead of quoting them. To fix it, the team lowered the model's temperature, told it to quote the article directly, and re-tested each change against the same failing cases instead of judging from fresh examples.

The results

  • From spec to working agent: 12 working sessions took the client from a forum post to an agent that reads text and photos, answers from their own documentation, and escalates when it isn't sure.
  • Humans stay in control: low-confidence messages never reach the customer. They go to the team, inside the inbox the team already uses.
  • Repeatable quality: the regression suite lets the client measure accuracy against their target after every change, instead of spot-checking.
  • Client voice: "After running through more tests, I think we are pretty close!" (the client's head of customer experience, in a session request during tuning)
We haven't put a dollar figure on this. The client's support volume and handling time weren't measured, so we're reporting what was built and tested, not a projected saving.

FAQ

Can an AI support agent understand customer photos?
Yes, if the photo is first turned into a text description and compared against described reference images. This build used image-to-text conversion plus tiebreaker notes for lookalike screens.
What stops the agent from sending a wrong answer?
A confidence gate. When the match is weak, the agent sends nothing to the customer and alerts the team's internal line.
Did they have to change their support tools?
No. The agent works inside the existing Quo line and the existing Notion knowledge base.

Want an AI agent that answers from your own docs, and knows when to stop?

Getting an AI agent to read a photo is the easy part. The hard part is stopping it from picking a lookalike article or paraphrasing the fix steps, and having it hand off to your team when it isn't sure. If you want a support agent that answers from your own documentation, book a ZoomFlow session and one of our consultants will build it with you live.