Files
ealmeida eae213c7f0 feat(wordpress): nova skill mcp-fluent-booking - MCP dedicado FluentBooking/FluentBooking Pro
Cobre: calendarios, event types, reservas (listar/detalhe/mudar
estado/reenviar confirmacao), actividade, disponibilidade, reports,
definicoes gerais, anfitrioes, estado do plugin/licenca Pro. 15
tools via REST API real com Application Password (nao SSH/SQL como
mcp-bit-social - o FluentBooking regista register_rest_route com
permission_callback por capability). Testado ponta-a-ponta em
producao 19-08-2026, incluindo escrita sem mutar dados reais (422
'No changes found' do proprio plugin). references/api-reference.md
com os endpoints/filtros/enums confirmados e references/diagnostics.md
com o playbook de uso (agenda, cancelamento, health check).
2026-08-19 05:29:42 +01:00

3.0 KiB

FluentBooking — playbook de diagnóstico

"Quem marcou uma reunião?" / ver a agenda

fb_list_bookings({period: "upcoming"}) para o que vem aí (omitir period já faz isto por omissão). Para histórico completo (incluindo já realizadas/canceladas), usar fb_list_bookings({period: "all"}) — omitir period NUNCA mostra o histórico, só o que ainda não aconteceu. Filtrar por convidado com email ou search (nome).

Cada resultado já traz location_details (link da reunião online), custom_form_data (respostas ao formulário de marcação — telefone, empresa, cargo, conforme configurado no event type) e source_url (de que página do site veio a marcação).

Cancelar ou reagendar uma reunião

Cancelar: fb_update_booking_status({booking_id, status: "cancelled", cancel_reason: "..."}) — dispara o email de cancelamento ao convidado automaticamente, não é preciso fazer mais nada. refund_payment: true só faz sentido se a reserva tiver payment_method associado (evento pago).

Reagendar não é uma tool deste MCP — a reserva tem um reschedule_url próprio (https://descomplicar.pt/?fluent-booking=booking&meeting_hash=...&type=reschedule) que o convidado usa directamente; não há endpoint admin para reatribuir hora sem passar por aí.

Marcar como "não compareceu" / concluída manualmente

fb_update_booking_status({booking_id, status: "no_show"}) ou status: "completed". Sem motivo associado (cancel_reason/reject_reason só se aplicam a cancelled/rejected).

Reenviar confirmação a um convidado

fb_send_confirmation_email({booking_id}) — só se o convidado pedir explicitamente ou perdeu o email original. Dispara um envio real; não usar para "confirmar que a tool funciona".

fb_list_bookings devolve vazio

Quase sempre é o period por omissão (upcoming) sem reservas futuras — confirmar com fb_get_reports (overview mostra o total histórico) antes de assumir que a agenda está vazia; se o total for >0 mas upcoming vier vazio, repetir com period: "all".

Investigar uma reunião específica em detalhe

fb_get_booking({booking_id}) para os dados completos, depois fb_list_activities({booking_id}) para a timeline (emails de lembrete enviados, mudanças de estado, quem cancelou e porquê — o created_by fica null quando a acção foi automática/pelo sistema).

Health check rápido

fb_get_plugin_status (versões + licença Pro) + fb_get_reports (totais) — dois tools sem argumentos para um snapshot inicial. fb_list_hosts confirma que anfitriões têm calendário activo antes de investigar "porque é que ninguém consegue marcar reunião com X".

Fora do âmbito deste MCP (fazer via wp-admin)

  • Criar uma reserva em nome de alguém (payload de slots dinâmico, risco de email indevido).
  • Gerir equipa/permissões, métodos de pagamento, integrações Zoom/Google Calendar/CalDAV, SMS (Twilio), webhooks, cupões.
  • Activar/desactivar a licença Pro (fb_get_plugin_status é read-only).