RingCentral
App · Messaging · 20 actions
Automate RingCentral calling and messaging. Start and cancel RingOut calls, read the call log, set presence, manage voicemails and faxes, keep a personal address book and post in Team Messaging chats.
Actions
| Action | What it does |
|---|---|
| Cancel call (RingOut) | Cancel a RingOut call that is still ringing. |
| Create contact | Add a contact to the user's personal address book. |
| Delete contact | Delete a contact from the user's personal address book. |
| Delete message | Move a message to Deleted, where Mark message can restore it, or tick Delete permanently to purge it for good. |
| Get call record | Get one call from the call log by its ID, with its legs when the Detailed view is chosen. |
| Get call status (RingOut) | Check the status of each leg of a RingOut call. |
| Get extension | Get an extension's profile: name, extension number, email, type, status and time zone. |
| Get message | Get one voicemail, fax or text message, with links to its attachments such as the voicemail audio. |
| Get presence | Get whether an extension is available, busy or offline, its do-not-disturb mode, status message and any calls in progress. |
| List call log | List an extension's calls with caller, callee, result and duration. |
| List chats | List the Team Messaging chats the user belongs to - teams, group and direct chats, and the personal notes chat. |
| List contacts | List contacts in the user's personal address book, optionally those whose first or last name starts with some text, or with a given phone number. |
| List extensions | List the account's extensions - users, call queues, IVR menus and more - filtered by type, status, number or email. |
| List messages | List voicemails, faxes, pager and SMS messages, filtered by type, read status, direction and date. |
| List phone numbers | List the phone numbers assigned to an extension, with how each is used (direct, main company, fax ...) and what it can do (caller ID, SMS). |
| Make call (RingOut) | Place a click-to-call: RingCentral first rings the From number, and when it is answered connects it to the To number. |
| Mark message | Mark a message read or unread, or restore one that was deleted (not purged). |
| Post chat message | Post a text message in a Team Messaging chat. |
| Update contact | Change a personal contact. |
| Update presence | Set a user's status (available, busy, offline), do-not-disturb mode and status message. |
Cancel call (RingOut)
Cancel a RingOut call that is still ringing.
Inputs
- RingOut call ID
ringout_idtextRequired - The 'id' returned by Make call.
Outputs
cancelledtrue/false- Always true
ringout_idtext- The RingOut call that was cancelled
Example output
{
"cancelled": true,
"ringout_id": "234343434"
}Create contact
Add a contact to the user's personal address book. Give at least a first name, last name or company.
Inputs
- First name
first_nametext - First name. On update, leave empty to keep the current value.
- Last name
last_nametext - Last name. On update, leave empty to keep the current value.
- Company
companytext - Company. On update, leave empty to keep the current value.
- Job title
job_titletext - Job title. On update, leave empty to keep the current value.
- Email
emailtext - Email address. On update, leave empty to keep the current value.
- Business phone
business_phonetext - Business phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
- Mobile phone
mobile_phonetext - Mobile phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
- Home phone
home_phonetext - Home phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
- Notes
notestext - Notes. On update, leave empty to keep the current value.
- Street
streettext - Business address: street. On update, leave empty to keep the current value.
- City
citytext - Business address: city. On update, leave empty to keep the current value.
- State
statetext - Business address: state or province. On update, leave empty to keep the current value.
- ZIP / postal code
zip_codetext - Business address: ZIP or postal code. On update, leave empty to keep the current value.
- Country
countrytext - Business address: country. On update, leave empty to keep the current value.
Outputs
availabilitytext- Alive, Deleted or Purged
business_addressobject- Business address
business_phonetext- Business phone
companytext- Company
emailtextfirst_nametext- First name
home_phonetext- Home phone
idtext- Contact ID - the value Update/Delete contact take
job_titletext- Job title
last_nametext- Last name
mobile_phonetext- Mobile phone
notestext- Notes
uritext- API link to the contact
web_pagetext- Web page
Example output
{
"availability": "Alive",
"business_address": {
"city": "Arlington",
"country": "US",
"state": "VA",
"street": "1 Main St",
"zip": "22201"
},
"business_phone": "+14155550123",
"company": "Example Ltd",
"email": "grace@example.com",
"first_name": "Grace",
"home_phone": "",
"id": "2093808004",
"job_title": "Rear Admiral",
"last_name": "Hopper",
"mobile_phone": "",
"notes": "",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/address-book/contact/2093808004",
"web_page": ""
}Delete contact
Delete a contact from the user's personal address book.
Inputs
- Contact ID
contact_idtextRequired - The contact's 'id' from List contacts or Create contact.
Outputs
contact_idtext- The contact deleted
deletedtrue/false- Always true
Example output
{
"contact_id": "2093808004",
"deleted": true
}Delete message
Move a message to Deleted, where Mark message can restore it, or tick Delete permanently to purge it for good.
Inputs
- Message ID
message_idtextRequired - The message's 'id' from List messages.
- Delete permanently
purgetrue/false - Purge the message and its attachments; cannot be undone.
Outputs
deletedtrue/false- Always true
message_idtext- The message deleted
purgedtrue/false- True when permanently purged, false when moved to Deleted
Example output
{
"deleted": true,
"message_id": "1724099032020",
"purged": false
}Get call record
Get one call from the call log by its ID, with its legs when the Detailed view is chosen.
Inputs
- Call record ID
call_record_idtextRequired - The call's 'id' from List call log.
- Extension
extension_idtext - The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
- View
viewtext - Detailed adds each call's legs. Defaults to Simple.One of:
Simple,Detailed(Detailed (includes call legs)).
Outputs
actiontext- What the call was, e.g. Phone Call, RingOut Web
deletedtrue/false- Whether the record is deleted
directiontext- Inbound or Outbound
durationnumber- Duration in seconds
from_extension_numbertext- Caller extension number
from_nametext- Caller name
from_numbertext- Calling number
has_recordingtrue/false- Whether the call was recorded
idtext- Call log record ID - the value Get call record takes
last_modified_timetext- When the record last changed
legslist- Call legs (Detailed view only)
reasontext- Reason code for the result
reason_descriptiontext- Reason in words
recording_content_uritext- Link to the recording audio (needs a token)
recording_idtext- Recording ID, if recorded
resulttext- Outcome, e.g. Accepted, Missed, Voicemail
session_idtext- Call session ID
start_timetext- When the call started (ISO 8601)
telephony_session_idtext- Telephony session ID
to_extension_numbertext- Called extension number
to_nametext- Called party name
to_numbertext- Called number
transporttext- PSTN or VoIP
typetext- Voice or Fax
uritext- API link to the record
Example output
{
"action": "RingOut Web",
"deleted": false,
"direction": "Outbound",
"duration": 42,
"from_extension_number": "101",
"from_name": "Ada Lovelace",
"from_number": "+16505550100",
"has_recording": false,
"id": "Y3s7ZS2tC9qzUA",
"last_modified_time": "2026-10-01T14:06:00.000Z",
"legs": [],
"reason": "",
"reason_description": "",
"recording_content_uri": "",
"recording_id": "",
"result": "Call connected",
"session_id": "36483620008",
"start_time": "2026-10-01T14:05:12.000Z",
"telephony_session_id": "s-a0d7bc42d8a3dz1922b9d8b9cz1a8e2b7d0000",
"to_extension_number": "",
"to_name": "",
"to_number": "+14155550123",
"transport": "PSTN",
"type": "Voice",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/call-log/Y3s7ZS2tC9qzUA"
}Get call status (RingOut)
Check the status of each leg of a RingOut call.
Inputs
- RingOut call ID
ringout_idtextRequired - The 'id' returned by Make call.
Outputs
call_statustext- Overall status, e.g. InProgress, Success
callee_statustext- Status of the second leg (the to number)
caller_statustext- Status of the first leg (the from number)
idtext- RingOut call ID - the value Get/Cancel RingOut take
uritext- API link to the RingOut call
Example output
{
"call_status": "InProgress",
"callee_status": "InProgress",
"caller_status": "InProgress",
"id": "234343434",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/ring-out/234343434"
}Get extension
Get an extension's profile: name, extension number, email, type, status and time zone. Leave the extension empty for the user this connection signs in as.
Inputs
- Extension
extension_idtext - The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
Outputs
business_phonetext- Business phone
companytext- Company
departmenttext- Department
emailtext- Contact email
extension_numbertext- Short internal extension number, e.g. 101
first_nametext- Contact first name
hiddentrue/false- Whether the extension is hidden from the directory
idtext- Extension ID - the value other steps take as extension_id
is_admintrue/false- Whether the extension has admin rights
job_titletext- Job title
last_nametext- Contact last name
mobile_phonetext- Mobile phone
nametext- Display name
site_nametext- Site the extension belongs to, if sites are used
statustext- Enabled, Disabled, Frozen, NotActivated or Unassigned
sub_typetext- Extension subtype, if any
timezonetext- Time zone name
typetext- Extension type, e.g. User, Department, IvrMenu
uritext- API link to the extension
Example output
{
"business_phone": "+16505550100",
"company": "Example Ltd",
"department": "",
"email": "ada@example.com",
"extension_number": "101",
"first_name": "Ada",
"hidden": false,
"id": "62264425008",
"is_admin": true,
"job_title": "Engineer",
"last_name": "Lovelace",
"mobile_phone": "",
"name": "Ada Lovelace",
"site_name": "",
"status": "Enabled",
"sub_type": "",
"timezone": "US/Pacific",
"type": "User",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008"
}Get message
Get one voicemail, fax or text message, with links to its attachments such as the voicemail audio.
Inputs
- Message ID
message_idtextRequired - The message's 'id' from List messages.
Outputs
attachmentslist- Attachments, e.g. the voicemail audio
availabilitytext- Alive, Deleted or Purged
conversation_idtext- Conversation ID
creation_timetext- When the message was created (ISO 8601)
directiontext- Inbound or Outbound
fax_page_countnumber- Pages in a fax
from_extension_numbertext- Sender extension number
from_nametext- Sender name
from_numbertext- Sender number
idtext- Message ID - the value the other message steps take
last_modified_timetext- When the message last changed
message_statustext- Delivery status, e.g. Received, Sent
prioritytext- Normal or High
read_statustext- Read or Unread
subjecttext- Subject or SMS text
tolist- Recipients
typetext- VoiceMail, Fax, SMS, Pager or Text
uritext- API link to the message
vm_transcription_statustext- Voicemail transcription status
Example output
{
"attachments": [
{
"content_type": "audio/mpeg",
"file_name": "",
"id": "1724099032020",
"size": 0,
"type": "AudioRecording",
"uri": "https://media.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/message-store/1724099032020/content/1724099032020",
"vm_duration": 18
}
],
"availability": "Alive",
"conversation_id": "7015284826245165000",
"creation_time": "2026-10-01T09:30:00.000Z",
"direction": "Inbound",
"fax_page_count": 0,
"from_extension_number": "",
"from_name": "Grace Hopper",
"from_number": "+14155550123",
"id": "1724099032020",
"last_modified_time": "2026-10-01T09:30:05.000Z",
"message_status": "Received",
"priority": "Normal",
"read_status": "Unread",
"subject": "Voice message from Grace Hopper",
"to": [
{
"extension_number": "101",
"location": "",
"name": "Ada Lovelace",
"phone_number": "+16505550100"
}
],
"type": "VoiceMail",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/message-store/1724099032020",
"vm_transcription_status": "Completed"
}Get presence
Get whether an extension is available, busy or offline, its do-not-disturb mode, status message and any calls in progress.
Inputs
- Extension
extension_idtext - The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
- Detailed call state
detailed_telephony_statetrue/false - Include detailed state for calls in progress.
Outputs
active_call_countnumber- Number of calls in progress
active_callslist- Calls in progress
allow_see_my_presencetrue/false- Whether others may see this presence
caller_id_visibilitytext- All, None or PermittedUsers
dnd_statustext- Do-not-disturb mode, e.g. TakeAllCalls
extension_idtext- Extension ID
extension_numbertext- Extension number
meeting_statustext- Connected or Disconnected
messagetext- Custom status message
pick_up_calls_on_holdtrue/false- Allow picking up calls on hold
presence_statustext- Aggregated presence: Available, Busy or Offline
ring_on_monitored_calltrue/false- Ring on monitored calls
telephony_statustext- NoCall, CallConnected, Ringing, OnHold or ParkedCall
user_statustext- User-defined status: Available, Busy or Offline
Example output
{
"active_call_count": 0,
"active_calls": [],
"allow_see_my_presence": true,
"caller_id_visibility": "All",
"dnd_status": "TakeAllCalls",
"extension_id": "62264425008",
"extension_number": "101",
"meeting_status": "Disconnected",
"message": "In the office",
"pick_up_calls_on_hold": false,
"presence_status": "Available",
"ring_on_monitored_call": false,
"telephony_status": "NoCall",
"user_status": "Available"
}List call log
List an extension's calls with caller, callee, result and duration. Set From - without it RingCentral returns only the last 24 hours. RingCentral allows about 10 call-log requests a minute per user.
Inputs
- Extension
extension_idtext - The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
- From
date_fromdate and time - Start of the period. Leave empty and RingCentral returns only the last 24 hours.
- To
date_todate and time - End of the period. Leave empty for now.
- Direction
directiontext - Only inbound or only outbound. Leave empty for both.One of:
Inbound,Outbound. - Call type
call_typetext - Only voice or only fax calls. Leave empty for both.One of:
Voice,Fax. - Phone number
phone_numbertext - Only calls to or from this number.
- Recorded calls only
with_recordingtrue/false - Only calls that have a recording.
- View
viewtext - Detailed adds each call's legs. Defaults to Simple.One of:
Simple,Detailed(Detailed (includes call legs)). - Page
pagenumber - Page number to return, starting at 1.From 1 to 100000. Default:
1. - Results per page
per_pagenumber - How many calls per page: up to 1000 in Simple view, 250 in Detailed.From 1 to 1000. Default:
100.
Outputs
countnumber- How many records came back on this page
date_fromtext- Start of the period sent (UTC); empty means RingCentral's default of the last 24 hours
date_totext- End of the period sent (UTC); empty means now
has_moretrue/false- Whether a further page exists
itemslist- The calls
pagenumber- The page number returned
per_pagenumber- The page size used
totalnumber- Total matching records, when RingCentral reports it
total_pagesnumber- Total pages, when RingCentral reports it
Example output
{
"count": 1,
"has_more": false,
"items": [
{
"action": "RingOut Web",
"deleted": false,
"direction": "Outbound",
"duration": 42,
"from_extension_number": "101",
"from_name": "Ada Lovelace",
"from_number": "+16505550100",
"has_recording": false,
"id": "Y3s7ZS2tC9qzUA",
"last_modified_time": "2026-10-01T14:06:00.000Z",
"legs": [],
"reason": "",
"reason_description": "",
"recording_content_uri": "",
"recording_id": "",
"result": "Call connected",
"session_id": "36483620008",
"start_time": "2026-10-01T14:05:12.000Z",
"telephony_session_id": "s-a0d7bc42d8a3dz1922b9d8b9cz1a8e2b7d0000",
"to_extension_number": "",
"to_name": "",
"to_number": "+14155550123",
"transport": "PSTN",
"type": "Voice",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/call-log/Y3s7ZS2tC9qzUA"
}
],
"page": 1,
"per_page": 100,
"total": 1,
"total_pages": 1
}List chats
List the Team Messaging chats the user belongs to - teams, group and direct chats, and the personal notes chat.
Inputs
- Types
chat_typeslist - Only these chat types. Leave empty for all.One or more of:
Team,Group,Direct,Personal(Personal (notes to self)),Everyone. - Maximum results
record_countnumber - How many chats to return, 1-250.From 1 to 250. Default:
30. - Page token
page_tokentext - The next_page_token of a previous List chats.
Outputs
countnumber- How many chats came back
has_moretrue/false- Whether a further page exists
itemslist- The chats
next_page_tokentext- Send as page_token for the next page; empty at the end
Example output
{
"count": 1,
"has_more": false,
"items": [
{
"creation_time": "2026-01-10T10:00:00.000Z",
"description": "Support team",
"id": "1452670982",
"label": "Support",
"last_modified_time": "2026-10-01T10:00:00.000Z",
"member_count": 1,
"member_ids": [
"62264425008"
],
"name": "Support",
"public": true,
"status": "Active",
"type": "Team"
}
],
"next_page_token": ""
}List contacts
List contacts in the user's personal address book, optionally those whose first or last name starts with some text, or with a given phone number.
Inputs
- Name starts with
starts_withtext - Only contacts whose first or last name starts with this.
- Phone number
phone_numbertext - Only contacts with this number, e.g. +14155550123.
- Sort by
sort_bylist - Sort order, applied in the order chosen.One or more of:
FirstName(First name),LastName(Last name),Company. - Page
pagenumber - Page number to return, starting at 1.From 1 to 100000. Default:
1. - Results per page
per_pagenumber - How many records per page, 1-1000.From 1 to 1000. Default:
100.
Outputs
countnumber- How many records came back on this page
has_moretrue/false- Whether a further page exists
itemslist- The contacts
pagenumber- The page number returned
per_pagenumber- The page size used
totalnumber- Total matching records, when RingCentral reports it
total_pagesnumber- Total pages, when RingCentral reports it
Example output
{
"count": 1,
"has_more": false,
"items": [
{
"availability": "Alive",
"business_address": {
"city": "Arlington",
"country": "US",
"state": "VA",
"street": "1 Main St",
"zip": "22201"
},
"business_phone": "+14155550123",
"company": "Example Ltd",
"email": "grace@example.com",
"first_name": "Grace",
"home_phone": "",
"id": "2093808004",
"job_title": "Rear Admiral",
"last_name": "Hopper",
"mobile_phone": "",
"notes": "",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/address-book/contact/2093808004",
"web_page": ""
}
],
"page": 1,
"per_page": 100,
"total": 1,
"total_pages": 1
}List extensions
List the account's extensions - users, call queues, IVR menus and more - filtered by type, status, number or email.
Inputs
- Types
extension_typeslist - Only these extension types. Leave empty for all.One or more of:
User,Department(Department (call queue)),IvrMenu(IVR menu),SharedLinesGroup(Shared lines group),PagingOnly(Paging only),ParkLocation(Park location),Announcement,Voicemail,FaxUser(Fax user),VirtualUser(Virtual user), and 8 more. - Statuses
statuseslist - Only these statuses. Leave empty for all.One or more of:
Enabled,Disabled,NotActivated(Not activated),Unassigned. - Extension number
extension_numbertext - Only the extension with this short number, e.g. 101.
- Email
emailtext - Only the extension with this email address.
- Page
pagenumber - Page number to return, starting at 1.From 1 to 100000. Default:
1. - Results per page
per_pagenumber - How many records per page, 1-1000.From 1 to 1000. Default:
100.
Outputs
countnumber- How many records came back on this page
has_moretrue/false- Whether a further page exists
itemslist- The extensions
pagenumber- The page number returned
per_pagenumber- The page size used
totalnumber- Total matching records, when RingCentral reports it
total_pagesnumber- Total pages, when RingCentral reports it
Example output
{
"count": 1,
"has_more": false,
"items": [
{
"business_phone": "+16505550100",
"company": "Example Ltd",
"department": "",
"email": "ada@example.com",
"extension_number": "101",
"first_name": "Ada",
"hidden": false,
"id": "62264425008",
"is_admin": true,
"job_title": "Engineer",
"last_name": "Lovelace",
"mobile_phone": "",
"name": "Ada Lovelace",
"site_name": "",
"status": "Enabled",
"sub_type": "",
"timezone": "US/Pacific",
"type": "User",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008"
}
],
"page": 1,
"per_page": 100,
"total": 1,
"total_pages": 1
}List messages
List voicemails, faxes, pager and SMS messages, filtered by type, read status, direction and date. Set From - without it RingCentral returns only the last 24 hours.
Inputs
- Types
message_typeslist - Only these message types. Leave empty for all.One or more of:
VoiceMail,Fax,SMS,Pager. - Read status
read_statustext - Only read or only unread. Leave empty for both.One of:
Read,Unread. - Direction
directiontext - Only inbound or only outbound. Leave empty for both.One of:
Inbound,Outbound. - From
date_fromdate and time - Start of the period. Leave empty and RingCentral returns only the last 24 hours.
- To
date_todate and time - End of the period. Leave empty for now.
- Phone number
phone_numbertext - Only messages to or from this number.
- Conversation ID
conversation_idtext - Only messages in this conversation.
- Page
pagenumber - Page number to return, starting at 1.From 1 to 100000. Default:
1. - Results per page
per_pagenumber - How many records per page, 1-1000.From 1 to 1000. Default:
100.
Outputs
countnumber- How many records came back on this page
date_fromtext- Start of the period sent (UTC); empty means RingCentral's default of the last 24 hours
date_totext- End of the period sent (UTC); empty means now
has_moretrue/false- Whether a further page exists
itemslist- The messages
pagenumber- The page number returned
per_pagenumber- The page size used
totalnumber- Total matching records, when RingCentral reports it
total_pagesnumber- Total pages, when RingCentral reports it
Example output
{
"count": 1,
"has_more": false,
"items": [
{
"attachments": [
{
"content_type": "audio/mpeg",
"file_name": "",
"id": "1724099032020",
"size": 0,
"type": "AudioRecording",
"uri": "https://media.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/message-store/1724099032020/content/1724099032020",
"vm_duration": 18
}
],
"availability": "Alive",
"conversation_id": "7015284826245165000",
"creation_time": "2026-10-01T09:30:00.000Z",
"direction": "Inbound",
"fax_page_count": 0,
"from_extension_number": "",
"from_name": "Grace Hopper",
"from_number": "+14155550123",
"id": "1724099032020",
"last_modified_time": "2026-10-01T09:30:05.000Z",
"message_status": "Received",
"priority": "Normal",
"read_status": "Unread",
"subject": "Voice message from Grace Hopper",
"to": [
{
"extension_number": "101",
"location": "",
"name": "Ada Lovelace",
"phone_number": "+16505550100"
}
],
"type": "VoiceMail",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/message-store/1724099032020",
"vm_transcription_status": "Completed"
}
],
"page": 1,
"per_page": 100,
"total": 1,
"total_pages": 1
}List phone numbers
List the phone numbers assigned to an extension, with how each is used (direct, main company, fax ...) and what it can do (caller ID, SMS).
Inputs
- Extension
extension_idtext - The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
- Usage types
usage_typeslist - Only numbers used this way. Leave empty for all.One or more of:
DirectNumber(Direct number),MainCompanyNumber(Main company number),AdditionalCompanyNumber(Additional company number),CompanyNumber(Company number),CompanyFaxNumber(Company fax number),ForwardedNumber(Forwarded number),ForwardedCompanyNumber(Forwarded company number),BusinessMobileNumber(Business mobile number),PartnerBusinessMobileNumber(Partner business mobile number),IntegrationNumber(Integration number). - Status
statustext - Only numbers in this state. Leave empty for all.One of:
Normal,Pending,PortedIn(Ported in),Temporary. - Page
pagenumber - Page number to return, starting at 1.From 1 to 100000. Default:
1. - Results per page
per_pagenumber - How many records per page, 1-1000.From 1 to 1000. Default:
100.
Outputs
countnumber- How many records came back on this page
has_moretrue/false- Whether a further page exists
itemslist- The phone numbers
pagenumber- The page number returned
per_pagenumber- The page size used
totalnumber- Total matching records, when RingCentral reports it
total_pagesnumber- Total pages, when RingCentral reports it
Example output
{
"count": 1,
"has_more": false,
"items": [
{
"country": "United States",
"extension_id": "62264425008",
"extension_number": "101",
"features": [
"CallerId",
"SmsSender"
],
"id": "1180745008",
"label": "",
"location": "Belmont, CA",
"payment_type": "Local",
"phone_number": "+16505550100",
"primary": true,
"status": "Normal",
"type": "VoiceFax",
"usage_type": "DirectNumber"
}
],
"page": 1,
"per_page": 100,
"total": 1,
"total_pages": 1
}Make call (RingOut)
Place a click-to-call: RingCentral first rings the From number, and when it is answered connects it to the To number. Returns the RingOut ID for checking or cancelling the call.
Inputs
- From (rings first)
from_numbertextRequired - Your phone, rung first - e.g. your mobile or desk phone. International format, e.g. +16505550100.
- To
to_numbertextRequired - The number to connect to once From answers. International format, e.g. +14155550123.
- Caller ID
caller_idtext - One of your RingCentral numbers to show to the person called (see List phone numbers). Leave empty for your default caller ID.
- Play prompt
play_prompttrue/false - Ask the From party to press 1 before connecting, so a voicemail pickup does not place the call.
Outputs
call_statustext- Overall status, e.g. InProgress, Success
callee_statustext- Status of the second leg (the to number)
caller_statustext- Status of the first leg (the from number)
idtext- RingOut call ID - the value Get/Cancel RingOut take
uritext- API link to the RingOut call
Example output
{
"call_status": "InProgress",
"callee_status": "InProgress",
"caller_status": "InProgress",
"id": "234343434",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/ring-out/234343434"
}Mark message
Mark a message read or unread, or restore one that was deleted (not purged).
Inputs
- Message ID
message_idtextRequired - The message's 'id' from List messages.
- Read status
read_statustext - Mark as read or unread. Leave empty to keep it.One of:
Read,Unread. - Restore from Deleted
restoretrue/false - Bring a deleted message back to the inbox.
Outputs
attachmentslist- Attachments, e.g. the voicemail audio
availabilitytext- Alive, Deleted or Purged
conversation_idtext- Conversation ID
creation_timetext- When the message was created (ISO 8601)
directiontext- Inbound or Outbound
fax_page_countnumber- Pages in a fax
from_extension_numbertext- Sender extension number
from_nametext- Sender name
from_numbertext- Sender number
idtext- Message ID - the value the other message steps take
last_modified_timetext- When the message last changed
message_statustext- Delivery status, e.g. Received, Sent
prioritytext- Normal or High
read_statustext- Read or Unread
subjecttext- Subject or SMS text
tolist- Recipients
typetext- VoiceMail, Fax, SMS, Pager or Text
uritext- API link to the message
vm_transcription_statustext- Voicemail transcription status
Example output
{
"attachments": [
{
"content_type": "audio/mpeg",
"file_name": "",
"id": "1724099032020",
"size": 0,
"type": "AudioRecording",
"uri": "https://media.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/message-store/1724099032020/content/1724099032020",
"vm_duration": 18
}
],
"availability": "Alive",
"conversation_id": "7015284826245165000",
"creation_time": "2026-10-01T09:30:00.000Z",
"direction": "Inbound",
"fax_page_count": 0,
"from_extension_number": "",
"from_name": "Grace Hopper",
"from_number": "+14155550123",
"id": "1724099032020",
"last_modified_time": "2026-10-01T09:30:05.000Z",
"message_status": "Received",
"priority": "Normal",
"read_status": "Unread",
"subject": "Voice message from Grace Hopper",
"to": [
{
"extension_number": "101",
"location": "",
"name": "Ada Lovelace",
"phone_number": "+16505550100"
}
],
"type": "VoiceMail",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/message-store/1724099032020",
"vm_transcription_status": "Completed"
}Post chat message
Post a text message in a Team Messaging chat.
Inputs
- Chat
chat_idtextRequired - The chat to post in. Pick one, or paste a chat ID from List chats.
- Text
texttextRequired - The message, up to 10000 characters. Markdown is supported.
Outputs
chat_idtext- Chat it was posted in
creation_timetext- When it was posted
creator_idtext- ID of the person who posted it
idtext- Post ID
last_modified_timetext- When it last changed
texttext- Message text
typetext- TextMessage, PersonJoined or PersonsAdded
Example output
{
"chat_id": "1452670982",
"creation_time": "2026-10-01T10:00:00.000Z",
"creator_id": "62264425008",
"id": "6134882309",
"last_modified_time": "2026-10-01T10:00:00.000Z",
"text": "Deployment finished",
"type": "TextMessage"
}Update contact
Change a personal contact. Only the fields you fill in change; everything left empty stays as it is.
Inputs
- Contact ID
contact_idtextRequired - The contact's 'id' from List contacts or Create contact.
- First name
first_nametext - First name. On update, leave empty to keep the current value.
- Last name
last_nametext - Last name. On update, leave empty to keep the current value.
- Company
companytext - Company. On update, leave empty to keep the current value.
- Job title
job_titletext - Job title. On update, leave empty to keep the current value.
- Email
emailtext - Email address. On update, leave empty to keep the current value.
- Business phone
business_phonetext - Business phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
- Mobile phone
mobile_phonetext - Mobile phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
- Home phone
home_phonetext - Home phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
- Notes
notestext - Notes. On update, leave empty to keep the current value.
- Street
streettext - Business address: street. On update, leave empty to keep the current value.
- City
citytext - Business address: city. On update, leave empty to keep the current value.
- State
statetext - Business address: state or province. On update, leave empty to keep the current value.
- ZIP / postal code
zip_codetext - Business address: ZIP or postal code. On update, leave empty to keep the current value.
- Country
countrytext - Business address: country. On update, leave empty to keep the current value.
Outputs
availabilitytext- Alive, Deleted or Purged
business_addressobject- Business address
business_phonetext- Business phone
companytext- Company
emailtextfirst_nametext- First name
home_phonetext- Home phone
idtext- Contact ID - the value Update/Delete contact take
job_titletext- Job title
last_nametext- Last name
mobile_phonetext- Mobile phone
notestext- Notes
uritext- API link to the contact
web_pagetext- Web page
Example output
{
"availability": "Alive",
"business_address": {
"city": "Arlington",
"country": "US",
"state": "VA",
"street": "1 Main St",
"zip": "22201"
},
"business_phone": "+14155550123",
"company": "Example Ltd",
"email": "grace@example.com",
"first_name": "Grace",
"home_phone": "",
"id": "2093808004",
"job_title": "Rear Admiral",
"last_name": "Hopper",
"mobile_phone": "",
"notes": "",
"uri": "https://platform.ringcentral.com/restapi/v1.0/account/62264421008/extension/62264425008/address-book/contact/2093808004",
"web_page": ""
}Update presence
Set a user's status (available, busy, offline), do-not-disturb mode and status message. Only the fields you fill in are sent. Works for user extensions only.
Inputs
- Extension
extension_idtext - The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
- Status
user_statustext - The status to show. Leave empty to keep it.One of:
Available,Busy,Offline. - Do not disturb
dnd_statustext - Which calls to take. Leave empty to keep it.One of:
TakeAllCalls(Take all calls),DoNotAcceptAnyCalls(Do not disturb),DoNotAcceptDepartmentCalls(Take my calls, not call-queue calls),TakeDepartmentCallsOnly(Take call-queue calls only). - Status message
messagetext - Up to 75 characters. Leave empty to keep it.
Outputs
active_call_countnumber- Number of calls in progress
active_callslist- Calls in progress
allow_see_my_presencetrue/false- Whether others may see this presence
caller_id_visibilitytext- All, None or PermittedUsers
dnd_statustext- Do-not-disturb mode, e.g. TakeAllCalls
extension_idtext- Extension ID
extension_numbertext- Extension number
meeting_statustext- Connected or Disconnected
messagetext- Custom status message
pick_up_calls_on_holdtrue/false- Allow picking up calls on hold
presence_statustext- Aggregated presence: Available, Busy or Offline
ring_on_monitored_calltrue/false- Ring on monitored calls
telephony_statustext- NoCall, CallConnected, Ringing, OnHold or ParkedCall
user_statustext- User-defined status: Available, Busy or Offline
Example output
{
"active_call_count": 0,
"active_calls": [],
"allow_see_my_presence": true,
"caller_id_visibility": "All",
"dnd_status": "TakeAllCalls",
"extension_id": "62264425008",
"extension_number": "101",
"meeting_status": "Disconnected",
"message": "In the office",
"pick_up_calls_on_hold": false,
"presence_status": "Available",
"ring_on_monitored_call": false,
"telephony_status": "NoCall",
"user_status": "Available"
}