M
Productivity
Customer Support

Connect MedSoft with Topcalls AI voice agents

39 actions · 0 triggers · Last verified October 24, 2026

The short answer

MedSoft connects to Topcalls so your AI voice agents can act on MedSoft during live phone calls. MedSoft Cloud clinic management: look up patients, check doctor availability, book, confirm and cancel appointments, and read patient history. All 39 actions and 0 triggers below are available to your agents, including add Patient Address and create Patient. Topcalls runs calls at $0.35/min all-inclusive with real-time replies, across up to 78 languages.

What you can automate with MedSoft

Add Patient Address during a call

While the agent is on the phone, Topcalls can add Patient Address in MedSoft automatically. That keeps your MedSoft records current the moment a call ends, with no manual data entry. Every call runs at $0.35/min all-inclusive.

Create Patient during a call

While the agent is on the phone, Topcalls can create Patient in MedSoft automatically. That keeps your MedSoft records current the moment a call ends, with no manual data entry. Every call runs at $0.35/min all-inclusive.

Find Patient during a call

While the agent is on the phone, Topcalls can find Patient in MedSoft automatically. That keeps your MedSoft records current the moment a call ends, with no manual data entry. Every call runs at $0.35/min all-inclusive.

Keep MedSoft in sync after every call

After each AI call, Topcalls writes the outcome, transcript summary, and next step back to MedSoft. Your records stay accurate without anyone updating them by hand.

Run MedSoft follow-ups at scale

Trigger batches of AI voice calls from MedSoft data and let Topcalls handle the conversations across up to 78 languages. Each call is billed at $0.35/min all-inclusive, so volume stays predictable.

MedSoft actions

What your AI voice agent can do in MedSoft during and after a call.

Add Patient Address

Adds an address to a patient. Country code is required, county code when the country is ROM, sector code when the county is B. Codes come from List Address Options. Requires the Cont Online key.

Create Patient

Creates a patient record. MedSoft applies the same validations as its UI; only set Skip Validation after a first attempt was rejected and the data was checked. Returns the created row with cod_pacient. Requires the Cont Online key.

Find Patient

Searches active patients by any combination of email or free text, name, phone, birth date, CNP or patient code. Returns matching rows with cod_pacient, nume, prenume, data_nastere, tel and email. Requires the Cont Online key.

Get GDPR Consent Link

Returns a time-limited link the patient can open to view or complete the GDPR consent form. LAST returns the latest form, NEW creates one. The GDPR template must be configured in MedSoft. Requires the Cont Online key.

Get Patient Address

Returns the latest address of a patient as countryCode, countyCode, sectorCode, cityCode, streetCode and number. Requires the Cont Online key.

Get Patient Contract Details

Returns the procedures of one patient contract with status, doctor, date and location. Requires the Cont Online key.

Get Payment Details

Returns the service lines of one payment note (incasare): service, date, price, discount, final price and VAT. Requires the Cont Online key.

List Address Options

Returns the address nomenclature MedSoft expects: countries, then counties of a country, cities of a county, streets of a city. Each row has code and nume. MedSoft rate-limits these calls, so cache results in your flow. Requires the Cont Online key.

List Appointment Statuses

Returns the appointment status definitions (index 1 to 10 with denumire, colour and whether it counts as success), for mapping the _status_N flags to names. Requires the Cont Online key.

List Doctors

Returns the doctors defined in MedSoft with specialty, location, phone, email and default appointment interval. By default only active doctors shown in online scheduling. Requires the Cont Online key.

List Patient Appointment History

Returns every appointment of a patient with doctor, date, times, location and the ten status flags (_status_1 to _status_10). Map flags to names with List Appointment Statuses. Requires the Cont Online key.

List Patient Contracts

Returns the contracts and subscriptions of a patient with start and end dates. Requires the Cont Online key.

List Patient Documents

Returns the documents in the patient account that belong to an allowed category (configured in MedSoft under Cont online > Categorii de documente accesibile). Requires the Cont Online key.

List Patient Files

Returns the medical files (fise) of a patient, for example treatment plans, with date, event and doctor. Templates must be enabled under Setari > Interconectari > Cont online > Sabloane fise pacient. Requires the Cont Online key.

List Patient Payments

Returns the payment notes (incasari) of a patient with date, total, currency and payment method. Requires the Cont Online key.

List Patient Services History

Returns the services performed for a patient with date, doctor and price. Requires the Cont Online key.

List Price List

Returns services marked for online use with price, currency and type. Filter by service type OR by date of last change, never both. Requires the Cont Online key.

List Treatment Plan Services

Returns the services of a treatment plan file with status, price, discount, paid and balance. Requires the Cont Online key.

Set Appointment Status Flag

Sets one of the ten appointment status flags (for example Confirmat, Sosit, Anulat) to true or false. Flag names come from List Appointment Statuses. Returns the updated appointment. Requires the Cont Online key.

Update Patient

Updates patient fields. Only the fields you fill are sent; empty fields stay unchanged in MedSoft. Check with the clinic before changing fields used in its internal flow. Requires the Cont Online key.

Cancel Appointment

Cancels an appointment. Returns { cancellationResult, message }.

Create Appointment

Books an appointment. Without a patient code MedSoft matches the patient by name and phone and creates a new patient when none matches. Returns { AppointmentId }.

Create Multiple Appointments

Books several appointments for one known patient in a single call. Each item uses the Create Appointment body shape (doctorId, locationId, startDateTime, endDateTime, patientName, patientPhoneNumber, appointmentDetails, programareSpeciala).

Find Free Slots

Lists bookable start times for a given appointment duration. Reads the doctor schedule (or the whole location when no doctor is chosen) and splits free intervals into slots. Each row has doctor_id, location_id, specialty_id, start and end, ready for Create Appointment.

Get Appointment Status

Returns one appointment with its current status list (for example "Confirmat" or "Confirmat,Anulat"), doctor, location, times and patient. Deleted appointments carry deleteDateTime.

Get Contract Services

Returns the services included in one patient contract or subscription, with how many were used. Each row has codServiciu, denumireServiciu, valoareFixa, nrBucati and numarServiciiPrestate.

Get Doctor Schedule

Returns the free intervals of one doctor between two dates (max 31 days). Existing appointments are already subtracted.

Get Location Schedule

Returns the free intervals of every doctor at a location between two dates (max 31 days). Existing appointments are already subtracted. Use Find Free Slots to turn intervals into bookable start times.

List Appointment Scopes

Returns the appointment purposes (scop programare) configured in MedSoft, with their duration in minutes and the services attached to each.

List Clinic Locations

Returns every clinic location (punct de lucru) available for online scheduling. Each row has LocationId and LocationName.

List Location Doctors

Returns the doctors bookable online at a location, with SpecialtyName and SlotDuration (minutes). Doctors must have "Afiseaza in programari online" enabled in MedSoft.

List Location Specialties

Returns the medical specialties (departments) offered at a location. Each row has LocationId, SpecialtyId and Name.

List Online Price List

Returns the services marked "Afiseaza serviciul in Programari online" with price and currency. Each row has cod, denumire, punct_lucru, pret, valuta and tip_serviciu.

List Patient Appointments

Returns the appointments of a patient, past and future. Without dates MedSoft returns every appointment; with dates only those in the range.

List Unscheduled Services

Returns contract services the patient still has to schedule, with nr_servicii_neprogramate per procedure.

Modify Appointment

Applies a clinic-specific event to an appointment (for example PROGRAMARE_CONFIRMATA). The set of accepted values is configured per clinic by MedSoft. Use it for changes less than 24 hours before the appointment; otherwise use Cancel Appointment.

Patient Login

Identifies a patient by phone number and password (by default the last 6 digits of the CNP) and returns contact data, remaining contract services and future appointments. Returns null when MedSoft has not enabled this optional endpoint for the clinic.

Validate Patient

Looks up an existing patient by name and phone (and optionally email). Returns { codPacient, tel, numePacient } or null when nobody matches.

Custom API Call

Call any MedSoft REST API endpoint directly from your workflow.

Frequently asked questions

Can Topcalls AI voice agents use MedSoft?

Yes. Topcalls connects to MedSoft so your AI voice agents can act on it during a call and sync outcomes after. No code is required to set it up.

What can Topcalls do with MedSoft?

Your agents can add Patient Address, create Patient, find Patient, plus every other MedSoft action and trigger listed on this page.

How much does the MedSoft integration cost?

The MedSoft integration is included. Topcalls bills $0.35/min all-inclusive, which covers the AI voice model, telephony, recording, transcription, and analytics.

Do I need code to connect MedSoft to Topcalls?

No. You connect MedSoft in the Topcalls integrations area and pick the actions and triggers you want. It works across up to 78 languages. How many you get depends on the transcription and voice models you choose.

Related integrations

Put MedSoft to work on your calls

AI voice calling at $0.35/min, all-inclusive per-minute, with real-time replies in up to 78 languages. How many you get depends on the transcription and voice models you choose.

Browse all integrations