FlowRunner
PricingContact
Theme
Start Free

Zixflow

CRM

Connect AI agents to Zixflow, a CRM and omnichannel engagement platform. Agents create records in any collection, manage list entries, log activities, send messages, and read reports.

31 actions API key available
A support interaction, an order event, or a scheduled read of an upstream system starts the run
List Attributes returns the attribute API key names the target collection or list actually defines
Search Records resolves the person by a filter expressed in the operator form the attribute type supports
Update Record or Create Record writes the customer into the right collection
Create Activity logs the interaction against the workspace timeline
The campaign owner is shown the resolved recipient set and the template that would go out
A person releases Send WhatsApp Template Message, because a delivered message cannot be recalled

What This Integration Enables

Zixflow is a CRM and an omnichannel engagement platform in one product, and this connector is built to respect both halves. The CRM side is genuinely schemaless: Zixflow models data as collections such as People, Company, and Deals along with any custom collections your workspace defines, plus lists holding curated subsets of records. Each collection and list defines its own attributes, so record and entry data is passed as flexible key-value pairs keyed by attribute API key names rather than by a fixed field set. That is a real advantage for a business whose data model is its own, and it comes with an obligation: List Attributes, targeting either a Collection or a List, is the action that tells a flow what keys exist before it builds a payload. Skipping it is how a create ends up saving a record with almost nothing on it and no error to explain why.

The engagement side is where an agent's decisions leave the building. Send Email, Send SMS, Send WhatsApp Template Message, and Send WhatsApp Text Message dispatch to real customers, and Get Email Report, Get SMS Report, and Get WhatsApp Report read delivery outcomes afterwards. Several rules decide whether a send works at all. WhatsApp sends use the WhatsApp phone ID from List WhatsApp Accounts rather than the phone number itself. Template messages require a pre-approved template name from Get WhatsApp Templates plus a variables object, while free-form text messages are only deliverable inside the twenty-four hour customer service window, which means the same content on the wrong action reaches nobody. For sending to Indian numbers, SMS typically requires the DLT template ID and entity ID fields for regulatory compliance. On the mechanics: all calls target the v1 API and authenticate with an API key sent as Authorization: Bearer <key>, created in Workspace Settings, Developer, API Keys, where the key's permissions can be scoped and an optional expiration date and IP restrictions applied. The API allows 150 requests per second and returns a too many requests error above that. Every response is wrapped in a {status, message, data} envelope, and this connector treats a status:false body as an error and throws with the returned message, so a flow can rely on a thrown error for logical failures as well as HTTP ones. Search Records, Search List Entries, and Search Activities accept both the shorthand equality filter form, for example {"name":"John Doe"}, and the verbose form with logical operators $and and $or and comparison operators including $eq, $ne, $gt, and $contains, with the available operators varying by attribute type, and pagination on limit and offset. This connector ships no triggers and registers no webhook subscription, so change detection is a scheduled Search Records or Search Activities call filtered on a timestamp attribute with a comparison operator, carrying the flow's own high-water mark forward between runs. Delete Record, Delete List Entry, and Delete Activity permanently remove data.

Without FlowRunner

Payloads are built against field names someone guessed A create writes keys the collection does not define and the record saves half empty
Audience is whoever the filter happened to match A message goes to a set nobody counted, and the count is discovered from the delivery report
Channel choice is made by habit A free-form message is sent to a customer outside the window where it can be delivered at all

With FlowRunner

Payloads follow the collection's own schema List Attributes resolves the real attribute API key names before a record is created or updated
The recipient set is reviewed before the send The run reports who the filter matched and how many, and a person approves the list
Channel choice follows the rule that governs it Templates are used where a template is required, and free-form text only inside the window that allows it

Use Case Scenarios

A lead written into a collection whose schema the agent actually read

A form submission or a row from Airtable arrives. The agent calls List Attributes against the target collection to resolve the attribute API key names, because a Zixflow collection is defined by your workspace and the label a marketer sees is not necessarily the key a payload needs. Search Records then runs with a filter on the email attribute, using the operator form that attribute's type supports, to see whether this person already exists. Where they do, Update Record revises the fields the source genuinely owns. Where they do not, Create Record writes them into the People or Deals collection. Create List Entry adds them to the curated list a campaign is built on, and Create Activity records where the lead came from on the workspace timeline so the next person to open the record can see it.

Support interactions logged where the whole workspace can see them

A ticket closes in Zendesk or a call ends in a phone platform. The agent runs Search Records to resolve the customer, then Create Activity to log the call, meeting, or note against the workspace timeline with the outcome and owner. Where the interaction changed something about the account, Update Record writes the new state using keys resolved from List Attributes rather than assumed. Search Activities with a $gt filter on the created timestamp gives the following morning's run a clean view of everything logged since the last pass, which is how this connector substitutes for the events it does not receive. Where the outcome needs a person's attention rather than a record update, the summary posts to Slack with a link back to the Zixflow record.

A delivery report that decides what happens next

After a campaign has gone out, the agent calls Get Email Report, Get SMS Report, and Get WhatsApp Report to read what actually happened rather than what was intended. Recipients whose message failed or bounced are resolved back through Search Records, and Update Record writes the deliverability state onto the record so the next audience filter excludes them without anyone maintaining a suppression list by hand. Where a customer engaged, Create Activity logs it and Create Task work is handed to the account owner through Slack. Where a WhatsApp free-form message was undeliverable because the twenty-four hour customer service window had closed, the flow records that as a channel outcome rather than as a customer signal, which is a distinction a report will not make for you.

Human-in-Loop Highlight

Send WhatsApp Template Message is the operation to gate, and the gate belongs as much on the audience as on the message. Zixflow builds its recipient sets from Search Records and Search List Entries, whose filters accept both a shorthand equality form and a verbose form with $and, $or, and comparison operators, with the available operators varying by attribute type. That expressiveness is the point of the product and it is also the failure mode: a filter that silently matches on the wrong attribute type does not error, it returns a set. The set might be forty people or it might be the entire People collection, and the send action does not know the difference. Once a template message dispatches to a pre-approved template through the WhatsApp phone ID, it is on the customer's phone. There is no unsend, the delivery report only tells you afterwards how many it reached, and WhatsApp is a channel where recipients experience an unexpected marketing message as a personal intrusion rather than as an email they can ignore. A related trap sits next to it: Send WhatsApp Text Message carries free-form content and is only deliverable inside the twenty-four hour customer service window, so an agent that reaches for it outside that window sends nothing at all and can easily read the silence as a customer who did not respond. So the agent resolves the audience and stops. It runs Search Records with the intended filter, counts the result, samples it, reads Get WhatsApp Templates to confirm the template is approved and List WhatsApp Accounts for the phone ID it would send from, then posts to the campaign owner: "Renewal reminder ready to send through the template renewal_30_day. Search Records matched 2,417 records on the People collection. That is 4 times last month's renewal cohort, and 1,890 of the matches have an empty renewal date attribute, which suggests the filter is matching on presence rather than on the date range intended. Sample of five: [names shown]. Sending the template delivers to every match immediately and cannot be recalled. Send to all 2,417, send only to the 527 with a renewal date in the next 30 days, or should I re-run the filter?" The owner answers once, and the send runs against the list a person approved. This is the human-in-the-loop moment on a platform where the CRM query and the customer's phone are one action apart, because an agent can count and sample exactly who a filter matched and only a person can say whether that is the audience they meant.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via email
Human decides
Agent resumes with decision

Agent Capabilities

31 actions

Records

5
  • Create Record Creates a record in a collection. Data is passed as key-value pairs keyed by the collection's attribute API key names, so List Attributes runs first.
  • Search Records Filters records with the shorthand equality form or the verbose form using `$and`, `$or`, and comparison operators such as `$eq`, `$ne`, `$gt`, and `$contains`, with `limit` and `offset` paging. This is the scheduled read that substitutes for the events this connector does not receive, and the action that defines a campaign audience.
  • Get Record Retrieves a single record with its attribute values.
  • Update Record Updates a record's attributes, used to write state back from another system or from a delivery outcome.
  • Delete Record Permanently removes a record and cannot be undone.

Collections and lists

9
  • List Collections Returns the collections defined in the workspace, including People, Company, Deals, and any custom collections.
  • Get Collection Retrieves a single collection with its configuration.
  • List Lists Returns the lists defined in the workspace, which hold curated subsets of records.
  • Get List Retrieves a single list. Lists are read through this connector; entries within them are fully writable.
  • Create List Entry Adds an entry to a list, keyed by the list's own attribute API key names, which is how a record joins a curated campaign audience.
  • Search List Entries Filters list entries with the same shorthand and verbose filter forms, with `limit` and `offset` paging.
  • Get List Entry Retrieves a single list entry.
  • Update List Entry Updates an entry's attributes.
  • Delete List Entry Permanently removes a list entry and cannot be undone.

Activities

5
  • Create Activity Logs a call, meeting, or note against the workspace timeline so an interaction handled in another system is visible in Zixflow.
  • Search Activities Filters activities with the shorthand or verbose filter form, used with a `$gt` timestamp filter to read everything logged since a flow's last run.
  • Get Activity Retrieves a single activity.
  • Update Activity Revises a logged activity.
  • Delete Activity Permanently removes an activity and cannot be undone.

Attributes and workspace

3
  • List Attributes Returns the attribute API key names defined on a Collection or a List. The discovery action that has to run before any Create or Update payload is built, since record shape is defined by your workspace rather than by a fixed schema.
  • List Workspace Members Returns the members of the workspace, used to resolve an owner before work is assigned.
  • Get Workspace Member Retrieves a single workspace member.

Messaging

6
  • Send Email Sends an email from the workspace to a resolved recipient.
  • Send SMS Sends an SMS. For sending to Indian numbers, the DLT template ID and entity ID fields are typically required for regulatory compliance.
  • Send WhatsApp Template Message Sends a pre-approved WhatsApp template with a variables object, addressed by the WhatsApp phone ID rather than the phone number. Delivered messages cannot be recalled, which is why this runs behind an approval.
  • Send WhatsApp Text Message Sends free-form WhatsApp text, which is only deliverable inside the twenty-four hour customer service window. Outside that window the message does not reach the customer.
  • List WhatsApp Accounts Returns the connected WhatsApp accounts and their phone IDs, which is what the send actions address rather than a phone number.
  • Get WhatsApp Templates Returns the pre-approved templates available, used to confirm a template exists and is approved before a send is proposed.

Reports

3
  • Get Email Report Reads email delivery outcomes, used to write deliverability state back onto records.
  • Get SMS Report Reads SMS delivery outcomes for follow-up logic.
  • Get WhatsApp Report Reads WhatsApp delivery outcomes, including how many a send actually reached.

Frequently Asked Questions

What can FlowRunner do with Zixflow?

FlowRunner agents can run Create Record, Search Records, and Get Record in Zixflow, plus 28 more actions.

Does connecting Zixflow to FlowRunner require OAuth?

No. Zixflow connects to FlowRunner with an API key, no OAuth flow required.

Can Zixflow trigger a FlowRunner workflow automatically?

Zixflow doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with Zixflow

$100 in credits. No card required. Connect in minutes.