Skip to content

Automation · Customer service and scheduling

Book optometry appointments over WhatsApp with Softix

An AI agent books optometry appointments over WhatsApp with Softix: it finds the patient, offers open times by location and creates the booking.

How can patients book an optometry appointment over WhatsApp at the right location?

A Met connected to Softix asks for the document number, finds the patient and only registers a new one when no record exists. It then asks for the location, date and whether morning or afternoon works best. Availability does not come from a list written into chat: it crosses the appointments booked in Softix with the opening hours and optometrist identifiers configured for that location. The Met offers only those slots, confirms the date, time, location and appointment type in one message, waits for the patient's approval and creates the booking with the internal identifier of the practitioner who was free. What gets booked is an optometry appointment; Softix does not give the Met access to clinical records or exam results.

Where it applies: Colombia. Patient creation in this connector stores country CO and takes a ten digit Colombian mobile number without the 57 prefix. This automation describes that implementation.

What starts it

When the customer writes

It starts when somebody writes over WhatsApp to ask for an optometry appointment, ask what times are open or move an existing booking. There is no message trigger to configure: the Met assigned to the line runs the procedure inside that conversation.

Nothing to set up. The Met assigned to that channel picks up the conversation and runs the procedure inside it.

Who runs it

Optical practice reception Met

Customer service team

This is not a named, seeded Met. It is the Met that already answers the practice's line, with Softix connected. Its work ends when the right patient is booked at the location and time that Softix accepted, with the appointment identifier retained so it can be moved or cancelled later.

Channels: WhatsApp

What you need connected

6 steps · 7 tools

The procedure, step by step

Each step shows the tool that runs. They belong to the real connector: if one of them stopped existing, this page would not build.

  1. 1

    Find the patient before creating another one

    The Met asks for the document number and searches Softix with it. If the patient already exists, it uses that record. If nothing comes back, it asks for the four fields creation requires: document number, first name, last name and a ten digit mobile number without the 57 prefix. Email and birth date are optional and are never made up to fill a field. The lookup comes first because two records for the same person split the schedule from their Softix file.

  2. 2

    Offer only slots from the configured location

    The person picks a location, date and part of the day. The query crosses that day's booked calendar with the slot length, opening hours and optometrist identifiers configured for the location. A time appears when at least one of those practitioners is free, and arrives in 12-hour format for display together with an internal userId. The Met offers those values exactly as returned: it does not calculate times, expose practitioner names, or offer times in the past or less than thirty minutes away.

  3. 3

    Confirm the four fields that make the appointment real

    Before writing, the Met puts the date, time, location and appointment type into one message and waits for explicit approval. It then creates the booking with local time and no offset, the document number as clientId, the chosen location and the userId that arrived with the open slot. The requested type stays in the message for the optometrist and any plan mentioned by the patient stays in the observation. None of it is guessed. Softix can send its booking notification, but that does not schedule a reminder for another day.

  4. 4

    Verify the real time and retain the identifier

    Creation attempts to return the appointment just stored, including its consultationId. If that match is unavailable, the Met reads the schedule for the date and finds it by patient and time. That listing has two dates that must not be confused: consultationDate is when the appointment happens, while schedulingDate is when somebody registered it. The identifier comes from this response, never from a guessed number, and is the only key for later changes.

  5. 5

    Move it only onto another open slot

    When the person needs a change, the Met calculates availability again for the new location and date, offers the slots that remain open and confirms the selected alternative. Only then does it send the original consultationId, the new local time, the document number, location and the userId of the new slot. Rescheduling can change location and practitioner, but never starts from a time recalled from chat or a practitioner name that Softix cannot list.

  6. 6

    Cancel the right appointment after confirmation

    To cancel, the Met reads the schedule for the date, distinguishes the appointment by consultationDate, patient and location, and presents those details before touching it. With the person's approval it sends the consultationId to Softix and waits for the cancellation acknowledgement. The tool never takes a name or approximate time; it takes the identifier. If Softix cannot find the booking or returns an error, the Met says so and offers reception.

Before you start

What you need ready

The Met solves none of these for you. If one is missing, the automation stops there.

The limits

What this automation does NOT solve

Better said here than discovered halfway through the rollout.

FAQ

Questions about this automation

They book an optometry appointment. The Met can leave the requested type in the message for the optometrist, but it does not perform the exam, open the clinical record or read results. That boundary is why the title says appointment rather than visual diagnosis.

Yes. Each location has its branchId, hours and practitioner identifiers. Availability is computed inside that location and creation keeps the same branchId. Moving to another location requires checking the new location's open times first.

The location configuration contains the allowed userIds. For each time, availability returns the identifier of the first free practitioner, and that same value is copied into creation. The patient sees the time and location, not a name the Met inferred.

Their record is reused. The document lookup happens before asking for the fields needed for a new record. softix_create_customer only runs when the search confirms they do not exist; it is not a step executed for everybody.

Not with these tools. Creation can enable the Softix message that announces the booking, but it does not schedule a reminder for the day before. If the practice needs reminders, they are set up separately through Meteor CRM and its WhatsApp template policy.

Because an open range is not enough: an appointment may occupy the only practitioner available. The tool crosses base hours with the day's schedule and returns only times where at least one configured userId is free. If a time is absent, the Met does not offer it.

Keep going

Other automations built on the same tools

Want this automation running on your own data?

We will show it to you with your accounts connected, not with a canned demo.