Start here

Developer Center

About IsOn24

IsOn24 AI Voice Assistant answers phone calls like a live person. It also texts back and keeps your voicemails, texts, and online chats together. Your clients make appointments over the phone and online in a built-in appointment system.


About IsOn24 API

The IsOn24 APIs allow developers to receive call records, text messages, and appointments for a business, initiate text messages, and create new appointments via REST. You can develop, ship, and monetize your integrations on the IsOn24 platform.


Important Objects

This section provides a high-level overview of the components of the IsOn24 API. Our list of field names is constantly changing. For the most up-to-date schema, please refer to this section.


Clients

Clients are the customers who contact businesses on the IsOn24 platform - they belong to the IsOn24 business. Most other objects are linked to a client.


{
"ContactId": String # The unique identifier
"ContactNumber": String # Phone number
"ContactName": String # client name
"ContactEmail": String # email address
"Created": Integer # Millisecs since Epoch
"Updated": Integer # Millisecs since Epoch
}


Businesses

The IsOn24 object is for an independent business or a specific store location of a multi-location business.


{
"id": String # The unique identifier
"name": String # name
"phone": String # Phone number
"sphone": String # Phone number
"email": String # email address
"timezone": String # Timezone such as "America/New_York"
"Created": Integer # Millisecs since Epoch
"Updated": Integer # Millisecs since Epoch
}


Accounts

An account may have one or multiple businesses, business locations, or stores. 


{
"id": String # The unique identifier
"name": String # name
"Created": Integer # Millisecs since Epoch
"Updated": Integer # Millisecs since Epoch
}


Users

A user belongs to a business and an account. They can access the IsOn24 app to communicate with clients.


{
  "UserId": String # login username of the user
  "UserName": String # Name of the user
"Created": Integer # Millisecs since Epoch
"Updated": Integer # Millisecs since Epoch
}


Call records

When the IsOn24 answers a call for a business, it captures all the relevant information about the call in the corresponding call record.


{
  "id": String # The unique identifier
"ToNumber": String # Phone number
"TranscriptLink": String # Direct IsOn24 app URL for the detailed call transcript
"BeginTime": Integer # Millisecs since Epoch
  "EndTime": Integer # Millisecs since Epoch
"BeginTimeFormated": String # Formatted date time in the Business Timezone
"EndTimeFormated": String # Formatted date time in the Business Timezone
"CallLength": String # Formatted time period
"ResultType": String # concatenated context strings for the call
"Initiator":"CLIENT",
"ContactId": String # The unique identifier
  "ContactNumber": String # Phone number
"ContactName": String # client name
"ContactEmail": String # client email address
  "HeaderText": String # Optional header text for the message
}


Messages

A message is a voicemail, an online chat question, or a text message sent or received for a business. 


{
"id": String # The unique identifier
"Content": String # Actual message content
"Created": Integer # Millisecs since Epoch
"CreatedFormated": String # Formatted date time in the Business Timezone
"ConvId": Integer # Conversation Id
"SenderType": String # "BIZ" or "CLIENT"
"ContactId": String # The unique identifier
"ContactNumber": String # Phone number
"ContactName": String # client name
"ContactEmail": String # client email address
"UserId": String # login username of the user
"UserName": String # Name of the user
"HeaderText": String # Optional header text for the message
}

Conversations

A conversation captures all the messages between a business and a specific client.


{
"id": String # The unique identifier
"ContactId": String # The unique identifier
"BusinessId": String # The unique identifier
"Created": Integer # Millisecs since Epoch
"CreatedFormated": String # Formatted date time in the Business Timezone
"Updated": Integer # Millisecs since Epoch
"UpdatedFormated": String # Formatted date time in the Business Timezone
}


Appointments

An appointment is a calendar event booked by a client with a specific business. 


{
"id": String # The unique DE-DUP ison24-identifier for a specific update for this appointment
"Aid": String # The unique ison24-identifier for this appointment
"ExternalId": String # The unique external-identifier for this appointment
"ExternalReason": String # Optional external-context for this appointment
"Created": Integer # Millisecs since Epoch
"Updated": Integer # Millisecs since Epoch
"EventType": String # "Appointment", "Reservation", "Booking", "Meeting", etc.
"State": String # "NEW", "CONFIRMED", "CANCELLED", "DECLINED"
"StartTime": Integer # Millisecs since Epoch
"StartTimeFormated": String # Formatted date time in the Business Timezone
"EndTime": Integer # Millisecs since Epoch
"EndTimeFormated": String # Formatted date time in the Business Timezone
"Duration": Integer # Minutes
"GuestCount": Integer #
"Content": String # Optional text-only information for this appointment
"CustomInfo": String # Optional Stringified JSON for additional attributes
"ContactId": String # The unique identifier
"ContactNumber": String # Phone number
"ContactName": String # client name
"ContactEmail": String # email address
"HeaderText": String # Optional header text for the appointment
}


Need Help?

Contact our API support team here.