Integration

Flovoo integration

Flovoo is a WhatsApp Business inbox and CRM. An agent can create, update, tag, stage, block and delete contacts, comment on them, open and list conversations, read messages and shared media, send WhatsApp messages and approved templates, react to messages, send broadcasts to a segment or a filtered audience, and manage tags, pipeline stages, segments, quick replies, custom fields and webhook subscriptions. Messages, templates and broadcasts reach real people. Connecting a WhatsApp channel is done in the Flovoo dashboard, and the API has no file upload route. Authentication is an API key (flv_...) sent as a Bearer token; only the organization Owner can create one, under Connectors, API, Generate new token, and its scopes, fixed at creation, decide which tools answer (403 otherwise). Rate limits per key: 300 reads, 120 writes and 60 sends per minute.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Flovoo.Built from the 42 Flovoo tools below, on the connection you add once.

What you can do with Flovoo

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Contact, 7 operations

  • block_contactBlock contactPOSTAgents: ask firstBlocks a contact: messaging is disabled in both directions until unblock_contact. Independent of status (a blocked contact can still be active). Returns the contact.
  • create_contactCreate contactPOSTAgents: ask firstCreates a contact (name and phone required) and returns it with its id. A contact must be assigned to a member (assigneeId from list_members) before it can be messaged.
  • delete_contactDelete contactDELETEAgents: ask firstPermanently deletes a contact together with its conversations and messages. Cannot be undone.
  • get_contactGet contactGETAgents: ask firstReturns one contact (personal data): name, phone, email, status, blocked flag, assignee, stage, tags, custom field values and last interaction time.
  • list_contactsList contactsGETAgents: ask firstLists contacts (personal data: name, phone, email, tags, custom fields), newest first by default, with filters on tags, stages, assignees, channels, status, blocked flag and dates. Paged with page and limit (1 to 100).
  • unblock_contactUnblock contactPOSTAgents: ask firstUnblocks a contact blocked with block_contact, so messages can flow again. Returns the contact.
  • update_contactUpdate contactPATCHAgents: ask firstChanges the fields you send on a contact; leave a field out to keep it. tagIds replaces the whole tag set ([] removes all tags); add_contact_tag and remove_contact_tag change one. Returns the contact.

Custom field, 5 operations

  • archive_custom_fieldArchive custom fieldPATCHAgents: ask firstArchives a custom field (restore it with restore_custom_field). Returns the field with status ARCHIVED.
  • create_custom_fieldCreate custom fieldPOSTAgents: ask firstCreates a contact custom field and returns it with its fieldKey, the key to use in update_contact's customFields.
  • list_custom_fieldsList custom fieldsGETAgents: ask firstLists the contact custom fields: id, name, fieldKey (the key used in a contact's customFields), type (TEXT, SINGLE_SELECT, MULTI_SELECT, URL), status and select options.
  • restore_custom_fieldRestore custom fieldPATCHAgents: ask firstRestores a custom field archived with archive_custom_field. Returns the field with status ACTIVE.
  • update_custom_fieldUpdate custom fieldPATCHAgents: ask firstChanges a custom field's name, description or select options; leave a field out to keep it. Returns the field.

Tag, 4 operations

  • create_tagCreate tagPOSTAgents: ask firstCreates a contact tag (names are unique in the organization) and returns it with its id.
  • delete_tagDelete tagDELETEAgents: ask firstDeletes a tag and removes it from every contact carrying it. Cannot be undone.
  • list_tagsList tagsGETAgents: ask firstLists contact tags with their colour and uses (how many contacts carry each). Paged with page and limit.
  • update_tagUpdate tagPATCHAgents: ask firstRenames a tag or changes its colour; leave a field out to keep it. Returns the tag.

Contact stage, 3 operations

  • create_contact_stageCreate contact stagePOSTAgents: ask firstCreates a pipeline stage for contacts and returns it with its id.
  • list_contact_stagesList contact stagesGETAgents: ask firstLists the pipeline stages contacts can be placed in, in order: id, name, description, colour, badge and whether the stage counts as in progress. Unpaginated. Pass an id as stageId.
  • set_contact_stageSet contact stagePUTAgents: ask firstMoves a contact to a pipeline stage (stageId from list_contact_stages) and returns the contact. Clearing the stage is not possible with this tool.

Conversation, 3 operations

  • count_conversationsCount conversationsGETAgents: ask firstCounts conversations matching the same filters as list_conversations (search, contactId, category, status, quickFilter), without paging. Returns count.
  • list_conversationsList conversationsGETAgents: ask firstLists conversations with their contacts, channel, last message, delivery status and unread count. Omit status for both active and archived. Paged with page and limit; hasNext tells if more exist (no total).
  • open_conversationOpen conversationPOSTAgents: ask firstOpens a conversation with a contact on a connected channel (channelId from list_channels), or returns the one already open. Sends nothing; use send_message or send_whatsapp_template next.

Webhook, 3 operations

  • create_webhookCreate webhookPOSTAgents: ask firstSubscribes a URL to Flovoo events (contacts, messages, templates, channels, broadcasts). The URL must answer 2xx within 10 seconds, no redirects. The signing secret is withheld, so deliveries cannot be verified.
  • delete_webhookDelete webhookDELETEAgents: ask firstDeletes a webhook subscription; its URL stops receiving events.
  • list_webhooksList webhooksGETAgents: ask firstLists webhook subscriptions: id, url, events, whether active and the last delivery time. Signing secrets are never returned.

Broadcast, 2 operations

  • list_broadcastsList broadcastsGETAgents: ask firstLists broadcasts, most recent first, with their status (DRAFT, SCHEDULED, IN_PROGRESS, WAITING_LIMIT, SENT, FAILED, PAUSED) and delivery counts (sent, delivered, read, replied, failed, skipped).
  • send_broadcastSend broadcastPOSTAgents: ask firstSends a WhatsApp broadcast to real recipients now: pass segmentId alone, or filters plus up to 500 addedContactIds. Needs channelId, a name, and a templateId, a quickReplyId or both. Returns broadcastId.

Contact tag, 2 operations

  • add_contact_tagAdd contact tagPOSTAgents: ask firstAdds one tag to a contact, keeping its existing tags. Returns the contact.
  • remove_contact_tagRemove contact tagDELETEAgents: ask firstRemoves one tag from a contact, leaving its other tags. Returns the contact.

Message, 2 operations

  • list_messagesList messagesGETAgents: ask firstLists the messages of one conversation, newest first (personal data): text, direction, delivery status, attachments and the WhatsApp id react_to_message takes. Paged with page and limit; hasNext tells if more exist.
  • send_messageSend messagePOSTAgents: ask firstSends a WhatsApp message (text, an attachment, or both) to a real contact. Works only while the contact's 24-hour service window is open; otherwise use send_whatsapp_template. The contact must be assigned.

Quick reply, 2 operations

  • create_quick_replyCreate quick replyPOSTAgents: ask firstSaves a quick reply (a reusable message) under a title unique in the organization; a duplicate title is refused with 409. Sends nothing. Returns the quick reply.
  • list_quick_repliesList quick repliesGETAgents: ask firstLists saved quick replies (reusable message texts, with an optional file): id, title, messageContent. Pass an id as quickReplyId to send_broadcast.

Segment, 2 operations

  • create_segmentCreate segmentPOSTAgents: ask firstSaves a segment: a named set of audience filters that send_broadcast can target. Sends nothing; a duplicate name is refused with 409. Returns the segment.
  • list_segmentsList segmentsGETAgents: ask firstLists saved segments (named audience filters on tags, stages, assignees, channels, dates, sources, countries and custom fields). Pass an id as segmentId to send_broadcast.

Whatsapp template, 2 operations

  • list_whatsapp_templatesList whatsapp templatesGETAgents: ask firstLists WhatsApp message templates: name, language, category, status, isUsable and variable counts. Only an APPROVED template with isUsable true can be sent; bodyVariableCount is how many bodyParameters it needs.
  • send_whatsapp_templateSend whatsapp templatePOSTAgents: ask firstSends an approved WhatsApp template to a real contact, whether or not the 24-hour window is open. bodyParameters must match the template's variable count, in order. Returns messageId and status.

Channel, 1 operation

  • list_channelsList channelsGETAgents: ask firstLists the organization's connected channels (WhatsApp, Messenger, Instagram, internal, website widget): id, name, phone number or account id, status. Pass an id to open_conversation or send_broadcast. Unpaginated.

Contact comment, 1 operation

  • create_contact_commentCreate contact commentPOSTAgents: ask firstAdds a comment to a contact's record in Flovoo, attributed to the API key. Pass parentId to reply to a top-level comment (a reply cannot itself be replied to). Returns the comment.

Conversation media, 1 operation

  • list_conversation_mediaList conversation mediaGETAgents: ask firstLists the images, videos, audio and documents exchanged in a conversation, with a URL per file. Paged with page and limit (up to 200 per page).

Member, 1 operation

  • list_membersList membersGETAgents: ask firstLists the organization's members (personal data: name, email, phone, role, job title). Use an id as a contact's assigneeId: a contact must be assigned before it can be messaged.

Message reaction, 1 operation

  • react_to_messageReact to messagePOSTAgents: ask firstReacts to a WhatsApp message with an emoji, visible to the contact; an empty emoji removes the reaction. Takes the message's platformMessageId (wamid...) from list_messages, not its UUID.

Use Flovoo from Claude Code, Cursor or Codex

Connect Flovoo in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Flovoo operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Flovoo

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Flovoo once

    Add your Flovoo connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Flovoo integration FAQ

What can you do with the Flovoo integration?

LiveContext exposes 42 operations on Flovoo, covering contact, custom field, tag and contact stage.

Popular integrations

Browse the whole catalog