# FavCRM — Agentic CRM

**Agentic CRM for service businesses** — 136 typed tools across customers,

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y smithery mcp add favcrm/favcrm

# Browse available tools
npx -y smithery tool list favcrm/favcrm

# Get full schema for a tool
npx -y smithery tool get favcrm/favcrm search_members

# Call a tool
npx -y smithery tool call favcrm/favcrm search_members '{}'
```

## Direct MCP Connection

Endpoint: `https://favcrm--favcrm.run.tools`

## Tools (132)

- `search_members` — Search and filter members/accounts. Supports text search, date ranges, booking/activity history, membership tier, tags,…
- `get_member_profile` — Get detailed profile for a specific member/account by ID.
- `list_tags` — List all available tags for the merchant.
- `attach_tags` — Attach one or more tags to a member/account. Useful for segmenting members after filtering.
- `list_tiers` — List all membership tiers with member counts and stats.
- `get_membership_tier` — Get a specific membership tier by ID.
- `issue_rewards` — Issue a gift/reward to multiple members. Requires a gift offer ID and member IDs.
- `enrol_membership` — Enrol a member into a membership tier. Free tiers enrol immediately; paid tiers return PAYMENT_REQUIRED unless skipPric…
- `get_loyalty_balance` — Get a member's current loyalty balance — points, stamps, credits, lifetime totals, and active membership tier. Returns …
- `earn_loyalty_points` — Credit loyalty points or stamps to a member. Use field="points" for points, "stamps" for stamps. Server records a trans…
- `get_dashboard_stats` — Get high-level business KPIs: member count, new members this week, active subscriptions, total points issued, active pr…
- `list_bookings` — List bookings with filters for date range, status, service, staff, or member.
- `get_booking_detail` — Get full booking details including line items, status history, and participants.
- `get_booking_stats` — Get booking counts: today, this week, this month, and breakdown by status.
- `get_available_slots` — Find available booking slots for a service on a specific date.
- `list_services` — List booking services with name, price, duration, and status.
- `get_service_detail` — Get full service details including addons, staff, resources, and tier pricing.
- `create_service` — Create a bookable service. Sets duration, price, capacity, and policies. Use list_service_categories first if you want …
- `update_service` — Update an existing booking service. Pass only the fields you want to change.
- `create_service_schedule` — Create a bookable schedule window for a service, including recurring weekly/daily availability.
- `list_service_schedules` — List schedule windows for booking services.
- `update_service_schedule` — Update a service schedule window. Pass only fields to change.
- `assign_staff_to_service` — Assign a staff member to a booking service. Pass users.id from list_staff.userId.
- `link_resource_to_service` — Link a room/resource to a booking service.
- `list_service_categories` — List service categories (groups for booking services like "Treatments", "Classes").
- `create_service_category` — Create a service category (e.g. "Treatments", "Classes") to group bookable services.
- `create_resource` — Create a bookable resource (room, equipment, vehicle). Used by services that have requiresResource=true.
- `set_resource_availability` — Add an availability window for a resource. Use day-of-week + recurring=true for weekly schedules, or a specific date fo…
- `set_staff_availability` — Add an availability window for a staff member (companyMembers.id). Use day-of-week + recurring for weekly schedules, or…
- `get_booking_settings` — Get global booking settings for the customer booking flow, cancellation rules, visibility options, and confirmation req…
- `update_booking_settings` — Update global booking settings. Pass only the fields you want to change.
- `list_tickets` — List support tickets with optional filters.
- `get_ticket_stats` — Get ticket counts grouped by status.
- `create_ticket` — Create a support ticket for a member issue.
- `update_ticket_status` — Update the status of an existing support ticket.
- `list_deals` — List CRM deals (sales pipeline) with optional filters.
- `update_deal_stage` — Move a deal to a different pipeline stage.
- `list_contacts` — List contacts (people linked to CRM accounts), optionally filtered by account or search.
- `get_contact` — Fetch a single contact by ID.
- `create_contact` — Create a contact on an existing CRM account.
- `update_contact` — Update fields on an existing contact.
- `list_tasks` — List tasks with optional status, assignee, and account filters.
- `create_task` — Create a task. Optionally link to a CRM account or assign to a team member.
- `update_task` — Update a task (status, priority, assignee, due date, completion).
- `send_whatsapp_message` — Disabled for agents. Use request_send_approval so the merchant can approve the exact WhatsApp draft in Workroom.
- `search_crm` — Search across CRM accounts and contacts by name, email, or phone.
- `list_invoices` — List invoices with optional filters. Use status "OVERDUE" to find unpaid invoices past due date.
- `list_subscriptions` — List member subscriptions. Filter by status to find active, cancelled, or past-due subscriptions.
- `list_campaigns` — List marketing campaigns (email, SMS, WhatsApp) with delivery stats.
- `create_campaign` — Create a marketing campaign (email, SMS, or WhatsApp) in DRAFT. For email channelConfig, use subject + htmlBody + optio…
- `update_campaign` — Update an existing campaign. Channel cannot be changed after creation. Pass only fields to change.
- `delete_campaign` — Delete a campaign. Only allowed in DRAFT status; sent campaigns are kept for audit history.
- `send_campaign` — Disabled for agents. Use request_send_approval so the merchant can approve the exact campaign send in Workroom.
- `validate_campaign` — Validate a campaign before sending. Resolves contactable recipient count and previews the final email subject/body with…
- `send_test_campaign` — Disabled for agents. Use request_send_approval so the merchant can approve the exact test email in Workroom.
- `list_notification_logs` — List notification delivery logs for the current company. Recipients are masked by default for incident-response safety.
- `list_conversations` — List messaging conversations across channels (WhatsApp, SMS, email, etc). Shows unread counts and last message time.
- `create_broadcast` — Create a DRAFT WhatsApp or SMS broadcast campaign. The broadcast is NOT sent — admin must review and send it from the B…
- `clone` — Duplicate an existing record (product, tier, campaign, post, service package, promotion, gift offer). Creates a copy in…
- `list_notes` — List notes attached to a member/account, booking, or ticket.
- `create_note` — Add a note to a member/account, booking, ticket, or invoice.
- `confirm_booking` — Confirm a pending booking.
- `cancel_booking` — Cancel a booking. Optionally provide a reason.
- `complete_booking` — Mark a booking as completed. Triggers commission calculation if configured.
- `mark_no_show` — Mark a booking as no-show when the customer did not attend.
- `list_promotions` — List promotion/coupon codes with optional status filter.
- `get_promotion` — Get details of a specific promotion/coupon code.
- `create_promotion` — Create a promotion / discount code. type=percentage or fixed_amount; value is the discount as a string ("10" = 10% or 1…
- `update_promotion` — Update an existing promotion. Pass only the fields you want to change.
- `delete_promotion` — Delete a promotion. Past usage records are preserved.
- `validate_promotion` — Check if a promotion code is valid for a given order. Returns isValid, discount amount, and an error code/message if in…
- `list_reward_schemes` — List loyalty reward schemes (points/stamps programs) configured for this business.

---
*Response truncated. Use `npx -y smithery` for complete data.*
