Skip to main content
InProd Logo

Genesys Cloud CI/CD with GitHub Actions.

Trigger InProd changeset validation and deployment from your Genesys Cloud GitHub Actions pipeline — with pull request validation gates, protected environment approvals, Simulate Run before every environment, and deployment evidence at every stage.

Trusted By Top Companies Worldwide
Medibank
ABN Amro
LivePerson
Ministry of Social Development
NEC
Vodafone
ANZ
Medibank
ABN Amro
LivePerson
Ministry of Social Development
NEC
Vodafone
ANZ

How It Works

Three steps from a reviewed pull request to a recorded production deployment.

1

Define changes as an InProd changeset

Package your Genesys Cloud configuration changes — routing flows, queue definitions, skill mappings, data actions — into governed deployment units managed in InProd and triggered from your GitHub repository.

2

Validate on every pull request

Automatically run validate-only mode against the target environment on every PR. InProd reports exactly what would change before the pull request is merged — protecting the review, not just the deployment.

3

Promote through Dev, UAT, and Production with protected environment gates

Use GitHub's native protected environments to require explicit approval before UAT and Production deployments. InProd handles environment-aware execution; GitHub enforces who can approve each promotion.

What You Get

PR-triggered validation

Every Genesys Cloud configuration change is automatically verified against the live target environment as part of your GitHub pull request review — not after it reaches production.

Protected environment approval gates

Map InProd environments to GitHub protected environments. Reviewers must approve before any deployment stage runs — enforced at the workflow level, not just by convention.

Simulate Run before each environment

InProd executes a pre-deployment simulation showing exactly what will be created, updated, or deleted — including environment-specific differences invisible to a standard diff.

Native GitHub Marketplace action

The inprod/github-run-changesets@v1 action is published on the GitHub Marketplace. Pin to a version, reference it in any workflow, no extra tooling or custom runners required.

Deployment evidence alongside the commit

Deployment results are captured as workflow outputs and step artifacts, providing an immutable record stored in GitHub alongside the triggering commit and approval.

Rollback from pipeline or InProd UI

Revert to a previous state using InProd's point-in-time restore — without manual reconstruction of what the configuration was before the change.

Works With Your Existing GitHub Setup

No custom infrastructure required. The InProd Run Changesets action is published on the GitHub Marketplace. Your existing protected environments, branch protection rules, required reviewers, and GitHub Secrets all apply — InProd adds Genesys Cloud-specific validation and deployment governance on top of the workflow you already run.

CX as Code deployments plug directly into a GitHub Actions workflow your team already runs — no rework of existing branch rules, secrets, or environment approvals required.

.github/workflows/deploy-genesys.yml
name: Deploy Genesys Cloud Changesets

on:
  pull_request:
    paths: ["changesets/**"]
  push:
    branches: [main]
    paths: ["changesets/**"]

env:
  INPROD_API_KEY: ${{ secrets.INPROD_API_KEY }}
  INPROD_BASE_URL: ${{ secrets.INPROD_BASE_URL }}

jobs:
  validate:
    if: github.event_name == 'pull_request'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Validate changesets
        uses: inprod/github-run-changesets@v1
        with:
          changeset_file: changesets/**/*.yaml
          environment: UAT
          validate_only: true
          execution_strategy: validate_first

  deploy-dev:
    if: github.event_name == 'push'
    runs-on: ubuntu-latest
    environment: Development
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to Development
        uses: inprod/github-run-changesets@v1
        with:
          changeset_file: changesets/**/*.yaml
          environment: Development
          execution_strategy: validate_first
          fail_fast: true

  deploy-uat:
    needs: deploy-dev
    runs-on: ubuntu-latest
    environment: UAT
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to UAT
        uses: inprod/github-run-changesets@v1
        with:
          changeset_file: changesets/**/*.yaml
          environment: UAT
          execution_strategy: validate_first
          fail_fast: true

  deploy-production:
    needs: deploy-uat
    runs-on: ubuntu-latest
    environment: Production
    steps:
      - uses: actions/checkout@v4
      - name: Deploy to Production
        uses: inprod/github-run-changesets@v1
        with:
          changeset_file: changesets/**/*.yaml
          environment: Production
          execution_strategy: validate_first
          fail_fast: true

Frequently Asked Questions

Why use GitHub Actions for Genesys Cloud deployments instead of manual promotion?

Manual promotion relies on engineers replicating the same steps correctly across Dev, UAT, and Production every time. GitHub Actions enforces the same process on every release — validation runs on every pull request, protected environment approvals are required before production, and every deployment generates a record. The workflow removes the process variability that causes most configuration-related incidents.

How do GitHub protected environments work with InProd?

You configure required reviewers and deployment branch rules on your GitHub protected environments under Settings → Environments. When a workflow job targets a protected environment, GitHub pauses execution and requires approval from the designated reviewers. InProd then runs Simulate Run and deploys the changeset within that approved job — so every promotion to UAT or Production is explicit and auditable.

What is validate-only mode and why does it matter for pull requests?

Validate-only mode checks a changeset against the target environment without executing any changes. On pull requests, this means every proposed configuration change is verified against the live environment as part of code review — before it can be merged. Teams catch dependency conflicts, missing queues, and environment-specific issues at review time, not after a failed production deployment.

Does this work with CX as Code and Terraform?

Yes. InProd sits alongside your CX as Code and Genesys Cloud Terraform workflows. Terraform manages desired-state definitions; InProd governs the deployment lifecycle — Simulate Run, promotion gates, drift detection, and the audit trail. GitHub Actions can trigger both Terraform applies and InProd changeset deployments within the same workflow.

Need the full pipeline picture? Genesys Cloud CI/CD Pipeline →

Every Genesys Cloud Change Reviewed, Validated, and Recorded.

Every configuration change reviewed in a pull request, validated before it merges, approved before it reaches production, and recorded alongside the commit that triggered it.

Book a Consultation