QVCCS innovation · Configuration and DevOps

Genesys Cloud IP ranges for firewall allow-lists, filtered by region and purpose

Sooner or later every Genesys Cloud CX integration reaches a network engineer’s desk: open the firewall for data actions, the mail relay, the AudioHook receiver. Genesys publishes the address space for those services through its Platform API. Our IP Ranges app turns that catalogue into a sortable, filterable table – by region, purpose and direction – ready to attach to a change ticket.

QVCCS Innovation teamIP Ranges user guide →

Genesys IP ranges, filtered On the left, filters: a region set to EU (London) and purpose chips for Data Actions, which is selected, SMTP, AudioHook and Bot Connector. An arrow leads to a table on the right with CIDR, purpose and region columns, showing three illustrative rows that use documentation address ranges, all tagged Data Actions and eu-west-2, with a row count and an export tile. QVCCS INNOVATION · NETWORK Genesys IP ranges, filtered FILTERS Region · EU (London) Data Actions SMTP AudioHook Bot Connector CIDR PURPOSE REGION 192.0.2.0/24Data Actionseu-west-2 198.51.100.0/24Data Actionseu-west-2 203.0.113.0/24Data Actionseu-west-2 ILLUSTRATIVE · DOCUMENTATION ADDRESS RANGES Export to ticket
  • Did you know that GET /api/v2/ipranges takes no parameters and, in the Platform API definition, lists no required permission – any valid OAuth token for your org can read it – while each entry carries its own CIDR, service, region and direction?

  • Did you know the direction field on each Genesys Cloud IP range is defined from the perspective of Genesys Cloud – inbound to Genesys or outbound from Genesys – rather than from your network’s point of view?

  • Did you know Genesys recommends that, wherever you build an allow-list from the Amazon AWS IP address file, the AWS Global region must always be included, even if you otherwise limit the list to your region?

01

The change ticket that lands at 16:30 on a Friday

The integration is built and tested. The Architect flow calls a data action, the data action calls an API behind the corporate firewall, and in the test org everything works because the test endpoint sits in a permissive network zone. Production is different. The network team needs a change request listing exactly which source addresses Genesys Cloud will use, in which region, for which service – and they need it before the change advisory board meets on Monday.

This is not an exotic request. Email relays must accept Genesys’ senders, Open Messaging middleware receives Genesys webhooks, an AudioHook receiver takes streamed audio, a bring-your-own bot or speech engine is called from Genesys, and a local key manager for recording encryption must accept Genesys callouts. Every one of those is an allow-list rule, and every rule needs an authoritative, current source. Getting it wrong either breaks the integration or opens more of the network than anyone intended.

02

Where Genesys publishes its address space

Genesys documents this carefully in its Resource Center article on IP addresses for the firewall allowlist. Genesys Cloud runs in a public cloud where addresses are expected to change, and all client connections – BYOC Premises Edges, WebRTC clients and hard phones – start as outbound connections to Genesys Cloud services. Where firewalls restrict access, Genesys recommends allowing client outbound access on the specified ports to any IP destination. For public-facing media services Genesys owns specific /20 and /21 CIDR ranges, which the article lists; other addresses come from third-party provider pools.

For traffic from Genesys to your endpoints, the article is precise: Genesys Cloud uses certain addresses for outbound recording encryption key traffic, data action traffic, Open Messaging, AudioHook, SMTP and IMAP, and you retrieve them by calling GET /api/v2/ipranges. The FAQs for Bot Connector, Audio Connector, AudioHook Monitor and BYOT speech-to-text point to the same endpoint, and the Bot Connector FAQ tells you to use the range marked bot-connector. Whenever possible, Genesys announces changes to the data action and SMTP lists under Features coming soon.

So the native source is not a PDF or a static table – it is a live API, and that is exactly right for address space that changes. The catch is ergonomic rather than technical. A JSON payload is perfect for automation and awkward for a human preparing a change request: it has to be filtered to one region and a handful of services, sorted sensibly, sized, and pasted into a document someone else will approve.

03

What the API returns, and how we read it

The endpoint returns an IpAddressRangeListing: an entities array of IpAddressRange objects, each with a cidr, a service, a region and a direction. The Platform API defines thirteen service values – api, data-actions, smtp, imap, graphapi, audiohook, open-messaging, tts-connector, audio-connector, byot-stt, bot-connector, byo-smpp and encryption – and three direction values: inbound, outbound and both, from Genesys Cloud’s perspective. The call takes no parameters, needs a valid OAuth token, and lists no specific permission or role.

IP Ranges signs in once with an OAuth client-credentials grant for your org and makes that one call. In our experience the response spans every Genesys region, each entry tagged with its own region, so the region you pick at sign-in decides only where your org authenticates – not which data you can see. That shaped the whole design: the region control is a client-side filter over data already loaded, never a re-authentication or a second fetch, and switching regions is instant.

From one Genesys Cloud API call to one change-ready view On the left, the Genesys Cloud side: a client-credentials token from the org's login region, then GET /api/v2/ipranges, which takes no parameters and returns an IpAddressRangeListing of entities with cidr, service, region and direction; the thirteen service values defined in the API are shown as chips. In the middle, the app applies client-side filters – region, purpose chips, direction and free-text search – then sorts CIDRs numerically and sizes each block. On the right, one view: a filtered table using illustrative documentation ranges, stat tiles, CSV, Excel and JSON exports, and a source and fetch timestamp footnote. GENESYS CLOUD PLATFORM API One call, every region POST login.<region>/oauth/token Client credentials · decides where you authenticate GET /api/v2/ipranges No parameters · no specific permission listed IPADDRESSRANGELISTING entities[ ] of IpAddressRange cidr · service · region · direction direction: inbound · outbound · both, Genesys’ view SERVICE VALUES IN THE API api data-actions smtp imap graphapi audiohook open-messaging tts-connector audio-connector byot-stt bot-connector byo-smpp encryption IN THE APP Filter, then sort Region dropdownClient-side, no re-fetch Purpose chipsMulti-select, live counts DirectionShown if two or more values Free-text searchAcross every field Sort and sizeCIDR numeric · block size ALL IN THE BROWSER ONE VIEW Change-ticket ready CIDRPURPOSE 192.0.2.0/24Data Actions 198.51.100.0/24SMTP 203.0.113.0/24AudioHook ILLUSTRATIVE DOCUMENTATION RANGES RANGESIPv4 · IPv6 PURPOSESin view ADDRESSESIPv4 total CSV Excel JSON Footnote: source URL and fetch timestamp Exports contain exactly the view on screen
One authenticated call returns every region’s ranges tagged by service, region and direction; the app filters them into one change-ready view.
Read this diagram as text

A three-column diagram, read left to right: one authenticated Genesys Cloud request returns every IP range, the app filters and sorts them in the browser, and the result is a change-ready view with exports.

  1. Left column, "Genesys Cloud Platform API", headed "One call, every region": first a token request to the region's login service, "Client credentials · decides where you authenticate".
  2. An arrow leads down to the IP ranges request, "No parameters · no specific permission listed", and another arrow to its response, "IpAddressRangeListing": "entities[ ] of IpAddressRange" with "cidr · service · region · direction".
  3. The response note adds "direction: inbound · outbound · both, Genesys’ view".
  4. Under "Service values in the API", thirteen chips are shown: "api", "data-actions", "smtp", "imap", "graphapi", "audiohook", "open-messaging", "tts-connector", "audio-connector", "byot-stt", "bot-connector", "byo-smpp" and "encryption".
  5. An arrow leads from the response to the middle column, "In the app", headed "Filter, then sort", a connected sequence of five steps: "Region dropdown" ("Client-side, no re-fetch"), "Purpose chips" ("Multi-select, live counts"), "Direction" ("Shown if two or more values"), "Free-text search" ("Across every field") and "Sort and size" ("CIDR numeric · block size"), with the note "All in the browser".
  6. An arrow leads from the last step to the right column, "One view", headed "Change-ticket ready": a table with columns CIDR and Purpose showing "192.0.2.0/24" as "Data Actions", "198.51.100.0/24" as "SMTP" and "203.0.113.0/24" as "AudioHook", labelled "Illustrative documentation ranges".
  7. Below the table are three stat tiles, "Ranges" ("IPv4 · IPv6"), "Purposes" ("in view") and "Addresses" ("IPv4 total"), and three export buttons, "CSV", "Excel" and "JSON".
  8. Two notes close the column: "Footnote: source URL and fetch timestamp" and "Exports contain exactly the view on screen".

04

From payload to a change-ticket table

The table is built from the payload rather than hard-coded. CIDR block comes first with a derived Addresses column beside it, then purpose, direction and region, then any extra fields Genesys adds in future, humanised automatically. Purpose chips – one per service, with live row counts – map the raw codes to friendly labels such as Data Actions, AudioHook or Recording Encryption, and new service values appear as new chips without a release. The chips multi-select, so SMTP plus IMAP for a mail flow is two clicks.

Filters stack: a region dropdown built from the regions actually present, with friendly names such as EU (London); an All, Inbound, Outbound or Both control, shown only when the payload carries at least two direction values; and a free-text search across every field. Clicking the CIDR header sorts numerically by parsed address and then prefix, with IPv6 after IPv4, so the export reads like a routing table rather than an alphabetised accident.

Four stat tiles track the filtered view live: ranges in view with the IPv4 and IPv6 split, distinct purposes, total IPv4 addresses and regions. The Addresses value is the full block size, 2 to the power of 32 minus the prefix, network and broadcast included; it is left blank for IPv6, where the numbers are meaninglessly large. A security reviewer asking “how much address space are we actually opening?” gets an answer, not a shrug.

05

A worked example: one data action, one region, one ticket

Back to Friday afternoon. The engineer signs in with the org’s existing client-credentials client, picks EU (London) in the Region dropdown because that is where the org is deployed, and clicks the Data Actions chip. The table drops from the full catalogue to just the rows that matter, the stat tiles confirm a single region and a single purpose, and the Addresses total tells the firewall team exactly how much source address space the rule will admit. A click on the CIDR header puts the rows in numeric order.

The same pattern covers the rest of the integration estate. A mail flow needs SMTP and IMAP together, which is two chips. An AudioHook receiver or a bring-your-own speech-to-text engine is one chip each, matching the service names in the Genesys FAQs. The free-text search finds a specific block when a firewall log shows an unexpected source and someone asks whether it belongs to Genesys. Each finished view exports to the Excel workbook, which goes straight onto the change request with the fetch timestamp in its footnote – a few minutes’ work rather than an afternoon of copying JSON into a spreadsheet by hand.

06

Two allow-lists that are easy to confuse

There is a second Genesys allow-list, and mixing the two up is a classic source of confusion in security reviews. Under Organization Settings, the Allowed IP Addresses feature limits access to your Genesys Cloud account to users and API applications visiting from CIDR blocks you specify – up to 150 of them, IPv4 only. Genesys notes that IP addresses from Data Actions integrations are automatically allowed, and warns against enabling the feature if you use dynamic IPs.

That control protects your Genesys org from unexpected sources. The ranges from /api/v2/ipranges serve the opposite job: they tell your firewall which Genesys sources to trust when Genesys calls you. Both matter, and they belong in different change requests with different approvers. We find that drawing the distinction explicitly – in the design documentation and in the ticket – saves a round of questions from every security team we work with.

Two allow-lists that are easy to confuse On the left, the firewall allow-list: Genesys Cloud services start connections to your endpoints – a data action endpoint, a mail server for SMTP and IMAP, Open Messaging middleware, an AudioHook receiver and a local key manager for recording encryption – so your firewall allows the source ranges returned by GET /api/v2/ipranges, by service and region, while your own clients connect outbound to Genesys on the specified ports. On the right, the Allowed IP Addresses setting in Organization Settings restricts which users and API applications can reach your Genesys Cloud org, with up to 150 IPv4 CIDRs; Data Actions IP addresses are automatically allowed and the setting should not be used with dynamic IPs. YOUR FIREWALL ALLOW-LIST Genesys Cloud calls you GENESYS CLOUD Outbound from Genesys to your endpoints FIREWALL Data action endpoint Mail server · SMTP, IMAP Open Messaging middleware AudioHook receiver Local key manager (encryption) Allow the source ranges from GET /api/v2/ipranges, by service and region Your own clients connect outbound: allow the specified ports to any IP ALLOWED IP ADDRESSES You reach Genesys Cloud Users and API applications visiting from your listed CIDR blocks ORGANIZATION SETTINGS Allowed IP Addresses Up to 150 CIDRs · IPv4 only Your Genesys Cloud org Data Actions IP addresses are allowed automatically Genesys warns: do not enable it with dynamic IPs
Firewall rules trust Genesys sources from /api/v2/ipranges; Allowed IP Addresses limits who can reach your Genesys Cloud org.
Read this diagram as text

Two side-by-side panels contrast the firewall allow-list, where Genesys Cloud calls you, with the Allowed IP Addresses setting, where you reach Genesys Cloud.

  1. Left panel, headed "Your firewall allow-list: Genesys Cloud calls you": a Genesys Cloud block labelled "Outbound from Genesys to your endpoints" sends five arrows through a bar marked "Firewall".
  2. The five arrows reach five endpoints: "Data action endpoint", "Mail server · SMTP, IMAP", "Open Messaging middleware", "AudioHook receiver" and "Local key manager (encryption)".
  3. Below the endpoints, the left panel says: "Allow the source ranges from GET /api/v2/ipranges, by service and region".
  4. A second note in the left panel says: "Your own clients connect outbound: allow the specified ports to any IP".
  5. Right panel, headed "Allowed IP Addresses: you reach Genesys Cloud": "Users and API applications", visiting from your listed CIDR blocks, point down to a gate.
  6. The gate is the Organization Settings item "Allowed IP Addresses", marked "Up to 150 CIDRs · IPv4 only", and it points down to "Your Genesys Cloud org".
  7. A note marked as positive says "Data Actions IP addresses are allowed automatically".
  8. A warning note says "Genesys warns: do not enable it with dynamic IPs".

07

Snapshot discipline and read-only engineering

Address space changes, so the app treats every view as a dated snapshot. A footnote records the exact source and the fetch timestamp; Refresh re-queries live, silently renewing an expired token once. CSV, a themed Excel workbook assembled entirely in the browser, and copy-as-JSON all contain exactly the current filtered and sorted view, and file names carry the region filter. The guide’s rule is simple: refresh before every change ticket and quote the timestamp. The app calls one Genesys data endpoint, has no write surface, and keeps the client secret server-side.

Small as it is, this app came out of the same method as our larger builds. Our IT Systems, Telecoms & SIP Engineer wrote the requirements from real firewall and SBC change requests; a Software Developer built a zero-build single-page client with schema tolerance, so an upstream rename degrades gracefully rather than breaking; and testing covered single-region orgs, payloads without a direction field and expired tokens. In Run & evolve, our release readiness reviews of Genesys release notes and our Support Engineers use it whenever a client’s network team asks what changed – backed by the whole practice.

How it compares

The native IP range sources and the QVCCS IP Ranges app

Genesys publishes the data; the app makes it fast to act on.

AspectNative Genesys Cloud CXQVCCS IP Ranges
Source of truthGET /api/v2/ipranges for outbound service ranges, plus the firewall allowlist article for media and AWS guidance.Calls the same API live, one call per load or refresh.
FilteringThe endpoint takes no parameters; each entry is tagged with service, region and direction.Region dropdown, multi-select purpose chips with counts, direction control and free-text search, all stackable.
OrderingA JSON entities array.Numeric CIDR sort by address then prefix, IPv6 after IPv4; every column sortable.
Sizing the changeRanges expressed in CIDR notation.Derived Addresses column and live totals of ranges, purposes, IPv4 addresses and regions.
EvidenceRaw JSON response.CSV, themed Excel and JSON of exactly the filtered view, with the region in the file name and a fetch timestamp.
AccessRequires an OAuth token; no specific permission is listed in the API definition.Any client-credentials client in the org; strictly read-only.
Media and AWS rangesGenesys-owned media CIDRs and AWS guidance are published in the firewall allowlist article.Shows what the API returns; we cross-check the article for media and AWS rules.
Keeping currentChanges to data action and SMTP addresses are announced under Features coming soon where possible.Refresh before every ticket; the timestamp travels with the export.

Native behaviour is as described in the Genesys Cloud Resource Center and the Platform API definition at the time of writing.

The takeaways

  • The authoritative Genesys IP catalogue, filtered to your region and services in seconds.
  • Numeric CIDR sorting and address totals that make a firewall change easy to review.
  • Exports that contain exactly the view on screen, with a timestamp for the change record.
  • A clear line between firewall allow-lists for Genesys traffic and the org’s own Allowed IP Addresses.
  • Read-only, single-endpoint design with nothing stored on disk.

IP Ranges is part of the QVCCS App Suite, included with every Managed Professional Services tier and built by the same certified team that designs, builds and supports Genesys Cloud CX solutions.

Read the user guide Managed Professional Services

Last reviewed

Questions about what you have read?

Clients, partners and people introduced to us can reach the specialists behind our applications and articles directly.

Who to contact