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

ActionWhat it does
Cancel call (RingOut)Cancel a RingOut call that is still ringing.
Create contactAdd a contact to the user's personal address book.
Delete contactDelete a contact from the user's personal address book.
Delete messageMove a message to Deleted, where Mark message can restore it, or tick Delete permanently to purge it for good.
Get call recordGet 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 extensionGet an extension's profile: name, extension number, email, type, status and time zone.
Get messageGet one voicemail, fax or text message, with links to its attachments such as the voicemail audio.
Get presenceGet whether an extension is available, busy or offline, its do-not-disturb mode, status message and any calls in progress.
List call logList an extension's calls with caller, callee, result and duration.
List chatsList the Team Messaging chats the user belongs to - teams, group and direct chats, and the personal notes chat.
List contactsList 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 extensionsList the account's extensions - users, call queues, IVR menus and more - filtered by type, status, number or email.
List messagesList voicemails, faxes, pager and SMS messages, filtered by type, read status, direction and date.
List phone numbersList 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 messageMark a message read or unread, or restore one that was deleted (not purged).
Post chat messagePost a text message in a Team Messaging chat.
Update contactChange a personal contact.
Update presenceSet 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 IDringout_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 namefirst_nametext
First name. On update, leave empty to keep the current value.
Last namelast_nametext
Last name. On update, leave empty to keep the current value.
Companycompanytext
Company. On update, leave empty to keep the current value.
Job titlejob_titletext
Job title. On update, leave empty to keep the current value.
Emailemailtext
Email address. On update, leave empty to keep the current value.
Business phonebusiness_phonetext
Business phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
Mobile phonemobile_phonetext
Mobile phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
Home phonehome_phonetext
Home phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
Notesnotestext
Notes. On update, leave empty to keep the current value.
Streetstreettext
Business address: street. On update, leave empty to keep the current value.
Citycitytext
Business address: city. On update, leave empty to keep the current value.
Statestatetext
Business address: state or province. On update, leave empty to keep the current value.
ZIP / postal codezip_codetext
Business address: ZIP or postal code. On update, leave empty to keep the current value.
Countrycountrytext
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
emailtext
Email
first_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 IDcontact_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 IDmessage_idtextRequired
The message's 'id' from List messages.
Delete permanentlypurgetrue/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 IDcall_record_idtextRequired
The call's 'id' from List call log.
Extensionextension_idtext
The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
Viewviewtext
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 IDringout_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

Extensionextension_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 IDmessage_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

Extensionextension_idtext
The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
Detailed call statedetailed_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

Extensionextension_idtext
The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
Fromdate_fromdate and time
Start of the period. Leave empty and RingCentral returns only the last 24 hours.
Todate_todate and time
End of the period. Leave empty for now.
Directiondirectiontext
Only inbound or only outbound. Leave empty for both.One of: Inbound, Outbound.
Call typecall_typetext
Only voice or only fax calls. Leave empty for both.One of: Voice, Fax.
Phone numberphone_numbertext
Only calls to or from this number.
Recorded calls onlywith_recordingtrue/false
Only calls that have a recording.
Viewviewtext
Detailed adds each call's legs. Defaults to Simple.One of: Simple, Detailed (Detailed (includes call legs)).
Pagepagenumber
Page number to return, starting at 1.From 1 to 100000. Default: 1.
Results per pageper_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

Typeschat_typeslist
Only these chat types. Leave empty for all.One or more of: Team, Group, Direct, Personal (Personal (notes to self)), Everyone.
Maximum resultsrecord_countnumber
How many chats to return, 1-250.From 1 to 250. Default: 30.
Page tokenpage_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 withstarts_withtext
Only contacts whose first or last name starts with this.
Phone numberphone_numbertext
Only contacts with this number, e.g. +14155550123.
Sort bysort_bylist
Sort order, applied in the order chosen.One or more of: FirstName (First name), LastName (Last name), Company.
Pagepagenumber
Page number to return, starting at 1.From 1 to 100000. Default: 1.
Results per pageper_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

Typesextension_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.
Statusesstatuseslist
Only these statuses. Leave empty for all.One or more of: Enabled, Disabled, NotActivated (Not activated), Unassigned.
Extension numberextension_numbertext
Only the extension with this short number, e.g. 101.
Emailemailtext
Only the extension with this email address.
Pagepagenumber
Page number to return, starting at 1.From 1 to 100000. Default: 1.
Results per pageper_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

Typesmessage_typeslist
Only these message types. Leave empty for all.One or more of: VoiceMail, Fax, SMS, Pager.
Read statusread_statustext
Only read or only unread. Leave empty for both.One of: Read, Unread.
Directiondirectiontext
Only inbound or only outbound. Leave empty for both.One of: Inbound, Outbound.
Fromdate_fromdate and time
Start of the period. Leave empty and RingCentral returns only the last 24 hours.
Todate_todate and time
End of the period. Leave empty for now.
Phone numberphone_numbertext
Only messages to or from this number.
Conversation IDconversation_idtext
Only messages in this conversation.
Pagepagenumber
Page number to return, starting at 1.From 1 to 100000. Default: 1.
Results per pageper_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

Extensionextension_idtext
The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
Usage typesusage_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).
Statusstatustext
Only numbers in this state. Leave empty for all.One of: Normal, Pending, PortedIn (Ported in), Temporary.
Pagepagenumber
Page number to return, starting at 1.From 1 to 100000. Default: 1.
Results per pageper_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.
Toto_numbertextRequired
The number to connect to once From answers. International format, e.g. +14155550123.
Caller IDcaller_idtext
One of your RingCentral numbers to show to the person called (see List phone numbers). Leave empty for your default caller ID.
Play promptplay_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 IDmessage_idtextRequired
The message's 'id' from List messages.
Read statusread_statustext
Mark as read or unread. Leave empty to keep it.One of: Read, Unread.
Restore from Deletedrestoretrue/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

Chatchat_idtextRequired
The chat to post in. Pick one, or paste a chat ID from List chats.
TexttexttextRequired
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 IDcontact_idtextRequired
The contact's 'id' from List contacts or Create contact.
First namefirst_nametext
First name. On update, leave empty to keep the current value.
Last namelast_nametext
Last name. On update, leave empty to keep the current value.
Companycompanytext
Company. On update, leave empty to keep the current value.
Job titlejob_titletext
Job title. On update, leave empty to keep the current value.
Emailemailtext
Email address. On update, leave empty to keep the current value.
Business phonebusiness_phonetext
Business phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
Mobile phonemobile_phonetext
Mobile phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
Home phonehome_phonetext
Home phone. International format, e.g. +16505550100. On update, leave empty to keep the current value.
Notesnotestext
Notes. On update, leave empty to keep the current value.
Streetstreettext
Business address: street. On update, leave empty to keep the current value.
Citycitytext
Business address: city. On update, leave empty to keep the current value.
Statestatetext
Business address: state or province. On update, leave empty to keep the current value.
ZIP / postal codezip_codetext
Business address: ZIP or postal code. On update, leave empty to keep the current value.
Countrycountrytext
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
emailtext
Email
first_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

Extensionextension_idtext
The extension to act on. Leave empty for the user this connection signs in as. Another extension needs an admin user.
Statususer_statustext
The status to show. Leave empty to keep it.One of: Available, Busy, Offline.
Do not disturbdnd_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 messagemessagetext
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"
}

On this page