# List Extensions

`ringcentral_list-extensions` · RingCentral MCP tool · Identity

List all extensions (users, call queues, and other extension types) created for the RingCentral account. Supports filtering by type/status and pagination.

## RingCentral Frequently Asked Questions

**What does the List Extensions tool do?**

This page documents the List Extensions tool (`ringcentral_list-extensions`). List all extensions (users, call queues, and other extension types) created for the RingCentral account. Supports filtering by type/status and pagination. It is one of the RingCentral Identity tools, invoked through your firm's Weave MCP connection and available to members whose access level permits it.

**What is the RingCentral integration?**

The RingCentral integration connects your firm's RingCentral account to Weave. RingCentral (RingEX) is a cloud phone/UCaaS platform. This integration exposes read-only call log, call analytics, recordings, directory, extension, and account diagnostics data as governed MCP tools, scoped per member by access level. It groups 17 tools into 5 categories, exposed through your firm's Weave MCP connection and filtered per member by access level.

## Input

- **type** `string` (enum: "User", "FaxUser", "FlexibleUser", "VirtualUser", "DigitalUser", "Department", "Announcement", "Voicemail", "SharedLinesGroup", "PagingOnly", "IvrMenu", "ApplicationExtension", "ParkLocation", "Limited", "Bot", "ProxyAdmin", "DelegatedLinesGroup", "Site") — Only return extensions of this type.
- **status** `string` (enum: "Enabled", "Disabled", "NotActivated", "Unassigned") — Only return extensions in this state.
- **page** `integer` — Which results page to fetch. Omit for page 1.

## Output

- **uri** `string` — Link to the extension list resource.
- **records** `array` (required) — Extensions matching the request filters.
  - **[]** `object`
    - **id** `integer` — Internal identifier of the extension.
    - **uri** `string` — Canonical URI of the extension.
    - **contact** `object` — Detailed contact information.
      - **firstName** `string` — User's first name (User extension type only).
      - **lastName** `string` — User's last name (User extension type only).
      - **name** `string` — Extension name (User type: concatenation of first + last name).
      - **company** `string` — User's company name.
      - **jobTitle** `string` — User's job title.
      - **email** `string` — User's contact email.
      - **businessPhone** `string` — User's contact phone number, E.164 format.
      - **mobilePhone** `string` — User's mobile (non toll-free) number, E.164 format.
      - **businessAddress** `object` — User's business address.
        - **country** `string` — Country name of the extension user's company.
        - **state** `string` — State/province name (mandatory for US/UK/Canada).
        - **city** `string` — City name.
        - **street** `string` — Street address.
        - **zip** `string` — Zip/postal code.
      - **emailAsLoginName** `boolean` — Whether the contact email is enabled as this user's login name.
      - **pronouncedName** `object` — How the user's name is pronounced.
        - **type** `string` (enum: "Default", "TextToSpeech", "Recorded") — How the extension user's name is pronounced.
        - **text** `string` — Custom text (for the `TextToSpeech` type only).
        - **prompt** `object` — Custom recorded/TTS name prompt audio.
          - **id** `string` — Internal identifier of the pronounced-name prompt.
          - **contentUri** `string` — Link to the prompt audio resource.
          - **contentType** `string` — Content media type of the prompt audio (open string; mirrors the widened get-call-recording contentType).
      - **department** `string` — User's department name.
    - **extensionNumber** `string` — Extension short number.
    - **name** `string` — Extension name.
    - **permissions** `object` — Admin/international-calling permissions.
      - **admin** `object` — Admin permission.
        - **enabled** `boolean` — Whether the Admin permission is enabled.
      - **internationalCalling** `object` — International Calling permission.
        - **enabled** `boolean` — Whether the International Calling permission is enabled.
    - **profileImage** `object` — Profile image information.
      - **uri** `string` (required) — Link to the profile image (the only field returned when unset).
      - **etag** `string` — Identifier of the image.
      - **lastModified** `string` — When the image was last updated, ISO 8601.
      - **contentType** `string` — MIME type of the image.
      - **scales** `array` — Links to the profile image in different dimensions.
        - **[]** `object`
          - **uri** `string` — Link to this scaled profile image variant.
    - **status** `string` — Extension current state.
    - **type** `string` — Extension type. Documented values (rc-platform.yml ~L30756–30782): User, FaxUser, FlexibleUser, VirtualUser, DigitalUser, Department, Announcement, Voicemail, SharedLinesGroup, PagingOnly, IvrMenu, ApplicationExtension, ParkLocation, Bot, Room, Limited, Site, ProxyAdmin, DelegatedLinesGroup, GroupCallPickup. RC also returns undocumented system types (e.g. CompanyExtension) — read as an open string.
    - **subType** `string` (enum: "Unknown", "VideoPro", "VideoProPlus", "DigitalSignage", "Emergency") — Extension subtype, if applicable.
    - **callQueueInfo** `object` — Call Queue extension settings.
      - **slaGoal** `integer` — Target percentage of calls that must be answered within the SLA threshold.
      - **slaThresholdSeconds** `integer` — Period, in seconds, considered an acceptable service level.
      - **includeAbandonedCalls** `boolean` — Whether abandoned calls are included in the service-level calculation.
      - **abandonedThresholdSeconds** `integer` — Calls shorter than this, in seconds, are excluded from the abandoned-calls count.
    - **hidden** `boolean` — Whether hidden from the company directory.
    - **site** `object` — Site the extension belongs to.
      - **id** `string` — Internal identifier of the site.
      - **uri** `string` — Link to the site resource.
      - **name** `string` — Name of the site.
      - **code** `string` — Site code value, if specified.
    - **assignedCountry** `object` — Country assigned to the extension.
      - **id** `string` — Internal identifier of the assigned country.
      - **uri** `string` — Canonical URI of the assigned country resource.
      - **isoCode** `string` — ISO 3166-1 alpha-2 country code.
      - **name** `string` — Official name of the country.
    - **costCenter** `object` — Cost center assigned to the extension.
      - **id** `string` — Internal identifier of the cost center.
      - **name** `string` — Name of the cost center.
    - **creationTime** `string` — When the extension was created, ISO 8601 (live-observed, undocumented field).
    - **roles** `array` — Roles assigned to the extension (live-observed field).
      - **[]** `object`
        - **uri** `string` — Link to the role.
        - **id** `string` — Internal identifier of the role.
        - **autoAssigned** `boolean` — Whether the role was auto-assigned.
        - **displayName** `string` — Display name of the role.
        - **siteCompatible** `boolean` — Whether the role is site-compatible.
        - **siteRestricted** `boolean` — Whether the role is site-restricted.
- **navigation** `object` — Links to other pages of the result set.
  - **firstPage** `object` — Link to the first page.
    - **uri** `string` — Canonical URI to retrieve this particular page.
  - **nextPage** `object` — Link to the next page.
    - **uri** `string` — Canonical URI to retrieve this particular page.
  - **previousPage** `object` — Link to the previous page.
    - **uri** `string` — Canonical URI to retrieve this particular page.
  - **lastPage** `object` — Link to the last page.
    - **uri** `string` — Canonical URI to retrieve this particular page.
- **paging** `object` — Pagination metadata for `records`.
  - **perPage** `integer` (required) — Page size — how many items are in each page.
  - **page** `integer` — 1-based current page number; omitted if the result is empty.
  - **pageStart** `integer` — 0-based index of the first element on the current page.
  - **pageEnd** `integer` — 0-based index of the last element on the current page.
  - **totalPages** `integer` — Total number of pages in the dataset (may be omitted for performance reasons).
  - **totalElements** `integer` — Total number of elements in the dataset (may be omitted for performance reasons).
