IPS Aleso is a Colombian occupational health provider (an IPS, or healthcare service provider) that runs pre-employment, periodic and exit medical exams for construction and staffing companies, which often send dozens of workers at once. Scheduling lived in spreadsheets and on one coordinator's WhatsApp. Starting in May 2026 we built Aleso One, occupational health scheduling software with a WhatsApp appointment bot at its core. It has three parts: a portal where each client company books and manages its workers, a back office that runs the clinic day floor by floor, and a WhatsApp AI agent that answers, confirms and escalates by topic. All of it runs on a multi-tenant backend with row-level security, audit and automations. This article explains the decisions behind it; for the screens, read the full case study.
We are WebMinds, an Atlanta-based agency that builds custom software and AI automation for companies in the United States and Latin America, with healthcare projects in both Colombia and Georgia.
Key facts
- Client: IPS Aleso, an occupational health provider in Colombia serving construction and staffing companies.
- Scope: 7 systems in production: company portal, clinic back office, WhatsApp agent, notifications, scheduling, alerts and audit.
- AI agent: a 24/7 WhatsApp agent on Gemini with 8 tools over live data, a curated knowledge base and escalation by topic.
- Multi-tenant security: 22/22 tables under row-level security, with 92 policies and 6 roles, so one company never sees another's workers.
- Patient messaging: 10 Meta-approved WhatsApp templates for confirmations, 24 h and 2 h reminders, fasting reminders, changes and results.
- Delivery: scope of 44 use cases approved on May 20, 2026; formal delivery with role-based manuals on September 21, 2026.
The problem: spreadsheets, one WhatsApp and billing disputes
Aleso coordinates occupational exams for companies that move many workers between job sites and contracts. Before the project, the schedule was built in Excel, and patient communication went through one coordinator's personal WhatsApp. There was no reliable record of who had authorized each appointment, which was the root of billing disputes with client companies. Clinical results live in an external medical-records system with no API.
The day-to-day problems:
- Manual scheduling in spreadsheets for several client companies, each with its own workers, job sites and rules.
- The same questions all day (preparation, fasting, location, what to bring) on a single human WhatsApp.
- No traceability of who booked each appointment, the basis of billing disputes.
- A complex clinic day: several exam rooms, capacity per time slot, holidays and services with their own hours.
Why off-the-shelf scheduling tools did not fit
Generic appointment software assumes one patient books one slot with one doctor. Occupational health works differently:
- The customer is a company, not the patient. Each company needs its own portal, its own users and its own workers, and must never see another company's data.
- Bulk booking. A construction contractor may send dozens of workers at once, often from a spreadsheet.
- Capacity belongs to the clinic, not to a doctor. Reception assigns rooms and professionals when patients arrive.
- Packages. One arrival may cover several exams.
- Billing evidence. Every appointment needs a record of who created it, when, and for which contractor and project.
- Patients still write on WhatsApp, so the conversational channel had to be connected to live scheduling data, not to a static FAQ.
That combination calls for custom web application development plus AI & Automation, which is how we scoped Aleso One.
What we built: occupational health scheduling software with a WhatsApp AI agent
Aleso One is a multi-tenant backend with an occupational clinic's business rules, a conversational agent with real tools over that data, and automated processes that run every minute. The interface is the visible layer; by weight, backend and frontend are close to half and half. Under the hood: 26 SQL functions, 18 database triggers, 30 versioned migrations, 47 API endpoints and 4 scheduled jobs on pg_cron.
The multi-company portal
Each client company registers workers one by one or up to 500 from Excel. It books exams by service or package in three guided steps, reschedules, follows results and manages its own users. Booking only shows slots with real capacity, per floor, for the chosen package.
Capacity per floor, not per doctor
Capacity belongs to the clinic at that hour and is recalculated by a trigger on every appointment. Reception assigns the room and professional when the patient arrives. A five-exam package uses a single arrival slot.
The clinic back office
The day panel is grouped by floor, with status, room, professional, contractor and project for every appointment. An eight-state appointment flow is validated on the server, and staff can close the day in bulk.
Colombian time as the source of truth
The servers run on UTC, so "already past" and "after hours" are computed in America/Bogotá time. Nobody can book a slot that has passed, and each service keeps its own hours.
The WhatsApp AI agent: checks before it answers
The agent answers questions about preparation, packages, hours and location. It looks up, cancels and requests changes to appointments, reads images and voice notes, and escalates billing or service cases to the right internal line. It never invents dates or availability: it looks up the catalog, packages and calendar through its eight tools, answers before it escalates, and raises an alert if it ever commits to a date. A curated knowledge base, searched semantically with pgvector, covers the clinic's standard information.
Urgent, not alarmist
In occupational health, words like "blood" or "pain" appear in ordinary questions. Keyword prefilters plus LLM confirmation catch real urgencies, frustration and sensitive data without flagging a question like "does the blood test hurt?"
A queue that never drops a reminder
Confirmations, 24-hour and 2-hour reminders, a fasting reminder the night before and status changes go out through persistent outboxes for WhatsApp and email. pg_cron drains them every minute, with race-safe row claiming, quadratic backoff, a dead-letter queue and per-appointment deduplication.
Multi-tenant security and audit
Row-level security covers all 22 tables, with 92 policies and 6 roles. Critical events are written to an append-only audit log, and an exportable appointment log records who booked each appointment, when, and for which contractor and project.
How we deliver: Hybrid AI Coding
Senior WebMinds engineering steered AI agents for implementation, with an independent QA agent testing every change in the browser using Playwright. Architecture, data model, business rules and every client decision were human: 44 use cases, 30 migrations and 7 systems in four months. The stack is strict TypeScript and Next.js, Supabase (Postgres, RLS, pg_cron) with pgvector, Gemini, the WhatsApp Cloud API, Resend and Vercel.
Running clinic scheduling on spreadsheets and WhatsApp? We can map your booking rules and show you what a portal plus agent would look like. Get your free assessment.
Timeline
- May 20, 2026: scope approved: 44 use cases, mockups and business rules.
- June 2026: multi-tenant schema with row-level security and audit, catalog and packages, and the floor-based scheduling engine.
- July 2026: WhatsApp subsystem with queue and pg_cron, AI agent with detectors, RAG and vision; first real message and first appointment in production.
- August–September 2026: QA rounds with the client, conversation memory, "answer before escalating" and per-service hours.
- September 21, 2026: formal delivery with role-based user manuals; billing log and topic-based escalation right after.
- Ongoing: pilot with a real client company and continuous product evolution.
Results: one schedule for every company
As documented in the IPS Aleso case study:
- One schedule for every company. Client companies book and manage their workers in their own portal, with real capacity and the clinic's rules, instead of spreadsheets and scattered messages.
- 24/7 care without burning out one person. The agent answers the repetitive questions with live data, confirms and reminds appointments, and escalates only what needs a person, to the right person for the topic.
- Traceability that backs every invoice. Every appointment records who created it, when, and for which contractor and project, with Excel export. Billing disputes are now settled with data.
For more healthcare work, see the Georgia Prosthodontics case study, a specialist dental platform in Atlanta, and our healthcare industry page. If the WhatsApp side interests you most, the CEA Circular case study shows a similar human-handoff design for a driving school.
FAQ
What is occupational health scheduling software?
It is software that lets an occupational health clinic and its client companies book, manage and track pre-employment, periodic and exit exams. In Aleso One, companies book in their own portal, the clinic runs the day from a back office, and a WhatsApp agent handles patient questions and reminders.
Can a WhatsApp appointment bot cancel or change appointments?
Yes. Aleso's agent looks up, cancels and requests changes to appointments through its tools over live data. It never invents dates or availability, and it raises an alert if it ever commits to a date.
How do client companies book many workers at once?
Each company can register workers one by one or upload up to 500 from Excel, then book exams by service or package in three guided steps, with only slots that have real capacity.
Can one client company see another company's workers?
No. Row-level security covers all 22 tables, with 92 policies and 6 roles, so one company never sees another's workers.
What reminders do patients receive?
Through 10 Meta-approved WhatsApp templates, patients get confirmations, 24-hour and 2-hour reminders, a fasting reminder the night before, change notices and results notifications.
Does the WhatsApp agent replace the clinic's staff?
No. It answers repetitive questions with live data and escalates billing, service and urgent cases to the right internal line, so staff spend their time on what needs a person.
Talk to us
If your clinic or healthcare operation still coordinates appointments through spreadsheets and a personal WhatsApp, we can help you design a system that scales without losing control. [Get your free assessment](/get-started/free-assessment?src=blog-occupational-health-scheduling-software-case-study), or book a call with our team. WebMinds is an Atlanta-based agency serving the US and Latin America, in English and Spanish.