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.”
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.
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.
{
"source": "homepage",
"contact": {
"attributes": {
"lastName": "Doe",
"firstName": "Jane"
},
"communicationChannels": [
{
"id": "447700000000",
"type": "whatsapp"
}
]
},
"attributes": {
"inquiryType": "Appointment Booking",
"callAvailability": "Monday 2-3 pm"
}
}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.
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. |