Integrations/NicoApps (MiniApps) Nativos/Sistemas de Negócios Locais/Feegow (Clinic and Medical Office Management)
Feegow (Clinic and Medical Office Management)
Feegow is the NicoApp that integrates with Feegow Clinic, the management system used by clinics and medical offices (schedule, patients, exams, insurance plans, professionals).
Note
Available on the NicoApps tab. Basis of the integration: official Feegow Clinic API (docs.feegow.com), authenticated through the
x-access-token header.How to obtain the credentials (x-access-token)
Feegow uses a single token (x-access-token) per license, released within the panel itself — you do not need to open a support ticket to generate the initial token:
- In the Feegow Clinic panel, go to Settings → Other Settings → Public API.
- Click Generate new Token.
- Optionally, edit the token name/description (pencil icon) and adjust the access permissions (padlock icon) for the endpoints the app will use (schedule, patients, exams, insurance plans, catalog).
- Copy the generated token and paste it into the credential field when installing the NicoApp.
Warning
Only users with an administrator profile can generate API tokens in Feegow.
Sources: How do I integrate Feegow via API with other systems? (Feegow Help Center) and Feegow REST API v1.0 — Authorization (reference documentation for developers, with all the parameters of each endpoint).
Note
Feegow's Help Center stresses that API integrations are the customer's responsibility, and that the customer must rely on a company or technical professional to set them up — Feegow does not implement the integration nor recommend partners.
Limitations
Warning
Feegow does not publicly disclose the request limit (rate limit) or the requirement of a specific plan/module for the API. Check with Feegow support (sucesso@feegow.com.br) before sizing high-volume flows.
- If your flow starts to depend on a high volume of calls (a customer service channel with many simultaneous conversations), check directly with Feegow support (sucesso@feegow.com.br) whether there is throttling, a monthly quota or a plan/module requirement for the Public API before scaling usage.
- The token is unique per license/permissions — there is no per-user OAuth; treat it as a sensitive credential (it is stored in the NicoApp installation).
- Since there is no public confirmation about rate limits, adopt as good practice the same recommendations used in other integrations: avoid re-querying the catalog (professionals/locations/insurance plans/specialties/procedures/bundles) on every message and prefer to cache this data in channel variables.
What the NicoApp does
01 Appointments
Action
Endpoint
What it does
Main inputs
Outputs
Create new appointment
POST /appoints/new-appointCreates an appointment in the clinic's schedule
local_id, paciente_id, profissional_id, especialidade_id, procedimento_id, data, horario (required); valor, plano, convenio_id, convenio_plano_id, canal_id, tabela_id, notas, celular, telefone, email (optional)
Appointment ID (agendamento_id)
Reschedule appointment
POST /appoints/rescheduleChanges the date/time of an existing appointment
agendamento_id, motivo_id, data, horario (required); obs (optional)
Content of Feegow's response
Cancel appointment
POST /appoints/cancel-appointCancels an appointment
agendamento_id, motivo_id (required); obs (optional)
—
Update Appointment Status
POST /appoints/statusUpdateUpdates the status of a scheduled session (e.g.: confirmed, present, no-show)
AgendamentoID, StatusID (required); Obs (optional)
Confirmation (success)
Time slot availability
GET /appoints/available-scheduleLists free time slots within a period, filtering by professional/specialty/procedure/unit/insurance plan
tipo; especialidade_id, procedimento_id, data_start, data_end, unidade_id, profissional_id, convenio_id (all optional, at least one filter recommended)
Available time slots by date (already reordered from the nearest date to the furthest)
List appointments
GET /appoints/searchSearches appointments by patient and/or period
data_start, data_end, paciente_id (optional)
List of appointments (agendamento_id, data, horario, paciente_id, procedimento_id, profissional_id, agendado_em)
02 Patients
Action
Endpoint
What it does
Main inputs
Outputs
Create patient
POST /patient/createRegisters a new patient in Feegow
nome_completo (required); cpf, data_nascimento, genero, celular(es), telefone(s), email(s), full address, convenio_id, plano_id, membership number, among others (optional)
Patient ID (paciente_id)
Update patient
POST /patient/editUpdates the data of an existing patient
paciente_id (required) + any of the fields from Create patient to be updated
Content of Feegow's response
Retrieve patient information
GET /patient/search (with fallback to GET /patient/list by phone)Searches for a patient by ID, CPF or phone
paciente_id or cpf or telefone (at least one required)
Name, date of birth, mobile numbers, phone numbers, emails, documents (RG/CPF), insurance plans, notes and paciente_id
03 Exams
Action
Endpoint
What it does
Main inputs
Outputs
List exam requests
GET /patient/exam-requestsLists a patient's exam requests
paciente_id or cpf (required); data_inicio, data_fim, tipo_pedido (optional)
List of requests (PedidoExameID, PacienteID, DataPedido, PedidoExame)
04 Clinic catalog
Action
Endpoint
What it does
Main inputs
Outputs
List Professionals
GET /professional/listLists the registered professionals
—
Professionals found (JSON), total
List Locations
GET /company/list-localLists the service units/locations
—
Locations found (JSON), total
List Insurance Plans
GET /insurance/listLists the registered insurance plans
—
Insurance plans found (JSON, without address data), total
List Specialties
GET /specialties/listLists the registered medical specialties
—
Specialties found (JSON), total
List Channels
GET /appoints/list-channelLists the scheduling channels (origin of the appointment)
—
Channels found (JSON), total
List Procedures
GET /procedures/listLists the clinic's procedures/services
tipo_procedimento, procedimento_id, unidade_id, paciente_id, especialidade_id, profissional_id, tabela_id, nome_procedimento (all optional)
Procedures found (JSON), total
List Bundles
GET /procedures/bundlesLists the procedure bundles
procedimento_id, pacote_id (optional)
Bundles found (JSON), total
Tips and notes
- Error handling: when Feegow refuses the operation, the action fails and returns Feegow's real error message through the
action_failedblock — use the block's error path in the flow to handle this (e.g.: unavailable time slot, missing required field, token without permission for the endpoint). - Automatic filling of notes/obs: if the notes field is left empty, the app automatically fills it with a default text before sending — "Agendamento da Automação" in Create new appointment, and "Desmarcado pela automação" in Cancel appointment. This makes it easier to identify later, in the Feegow panel, which records came from the automation.
- Time slot availability reordered by date: Feegow's raw response arrives grouped by professional/location; the app reprocesses the return and reorders the time slots by date (from the nearest to the furthest), already unified into a single object per date — ready to present to the contact.
- Retrieve patient by phone: when there is no paciente_id or CPF, the action falls back to
GET /patient/listfiltering by phone and handles the three scenarios: none found, one found (proceeds normally) or multiple found (returns a warning so you can disambiguate with the contact). - Chained IDs: paciente_id comes from Create patient or Retrieve patient information and feeds Create/Reschedule/Cancel appointment, Update patient and List exam requests. agendamento_id comes from Create new appointment and feeds Reschedule, Cancel and Update Status.
- Save requests: even though Feegow does not publish rate limits, it is good practice not to re-query the catalog (professionals/locations/insurance plans/specialties/procedures/bundles) on every message — this data changes little; store the IDs in channel variables.
- Date format: most schedule endpoints use
DD-MM-YYYY(e.g.: 16-12-2025) and a separate time inHH:MM:SS; check the expected format of each field when building the flow.