API

Last updated 13/11/2025

What is an Intent?

An Intent represents a user’s request, interest or action that should trigger a conversation in Zeus. It is the core object used to start AI-powered WhatsApp/SMS engagement.

Every intent is always tied to a contact, which defines who the user is and how they can be reached.

An intent contains the user’s contact details, the communication channel they can be contacted on, and any context or attributes that describe what they are trying to do (for example requesting a callback, booking an appointment, asking for a quote or submitting an enquiry). Creating an intent tells Zeus: “Here is a user and what they want - start the right conversation with them.”

Authorisation

Each request must have your Zeus API key in the authorization header. The API key can be created in your user Dashboard or passed onto you by a Zeus team member.

x-api-key : e3****YOUR-API-KEY****2o5x

You may also issue multiple API keys for your account if needed.

POST - Intent

Posting to this endpoint creates a new intent in your Zeus account. If your account criteria are met, Zeus will automatically trigger a WhatsApp or SMS conversation with the user..

POST - https://api.openfi.tech/v1/intents

The list of fields sent through the API requests may vary depending on the list of attributes specified on your account level. Before sending new attributes in your API requests, make sure they are added to your Zeus account configuration.

Example Request

{
  "source": "homepage",
  "contact": {
    "attributes": {
      "lastName": "Doe",
      "firstName": "Jane"
    },
    "communicationChannels": [
      {
        "id": "447700000000",
        "type": "whatsapp"
      }
    ]
  },
  "attributes": {
    "inquiryType": "Appointment Booking",
     "callAvailability": "Monday 2-3 pm"
  }
}

Fields

Detailed Field Explanation

  • source

This field indicates the source of the request. It is used to distinguish between intents created from different sources. This can be “homepage”, “api”, etc. Bear in mind that “whatsapp” as a source is reserved for the intents created through direct Whatsapp conversation and therefore isn’t suggested that is used within the api calls.

  • contact

The contact object contains all the information related to the user expressing the intent. It includes a list of contact attributes (like the first and last name) and the info about the communication channel by which they can be contacted. The methoda currently supported are “whatsapp” or "twilio-sms".

Contact.attributes

Contact.communicationChannel

  • attributes

This object contains additional intent-level attributes that describe the context or details of the user’s request. The list of fields and values you can send within this field depends on the list of attributes defined in your account (which is the information you want the AI to collect during the conversation) and can be provided by your account manager after you’ve defined the structure.

Fields

Field

Type

Description

Validation

source

string

The source of the intent being created through the API

You can submit a specific source such as “homepage”, “website”, “api”

contact

object

Contains information about the user, including their attributes and communication channels.

Contains an array of contact attributes and an array of communicationChannels

contact.attributes

object

The array contains the list of attributes on the contact level. The attributes can be customised on the account.

Contact attributes such as firstName, lastName

contact.communicationChannels

object

A list of channels through which Zeus can contact the user, such as WhatsApp or SMS.

For now, we can only accept the “type”: “whatsapp” or "type": "twilio-sms".

attributes

Object

Contains additional attributes describing the intent.

The list of attributes you can send through the API is the one defined on the intent level.