View a markdown version of this page

Application Deployments - Amazon Connect

Application Deployments

Deploying an application pushes a successful build to the channels where users interact: chat, voice, IVR, website, mobile, or MCP clients. Only one build is live per application at a time. Deploying a new build deactivates the previous one. You can roll back to any previous build at any time.

Quick Start

// 1. Create Application const app = await client.send(new CreateApplicationCommand({ name: "DeploymentTestApp", settings: { conversationTTL: 5, thresholds: { incomprehensionCount: 2 } } })); // 2. Create Flow const flow = await client.send(new CreateFlowCommand({ flowId: "DeployTestFlow", description: "Flow for deployment testing", nodes: {} })); // 3. Attach Flow const updatedApp = await client.send(new UpdateApplicationCommand({ applicationIdentifier: app.applicationId, flows: [{ flowId: "DeployTestFlow" }] })); // 4. Create Build const build = await client.send(new CreateApplicationBuildCommand({ applicationIdentifier: app.applicationId, })); // 5. Wait for build await new Promise(r => setTimeout(r, 5000)); const buildStatus = await client.send(new GetApplicationBuildCommand({ applicationIdentifier: app.applicationId, buildIdentifier: build.buildId, })); if (buildStatus.status !== "BUILT") { console.log("Build failed, cannot deploy. Stopping."); return; } // 6. Create Deployment const deployment = await client.send(new CreateApplicationDeploymentCommand({ applicationIdentifier: app.applicationId, buildIdentifier: build.buildId, environment: "production", languageCodes: ["en-US"], })); // 7. Wait and Get Deployment await new Promise(r => setTimeout(r, 5000)); const deployStatus = await client.send(new GetApplicationDeploymentCommand({ applicationIdentifier: app.applicationId, deploymentIdentifier: deployment.deploymentId, })); // 8. List Deployments const deployments = await client.send(new ListApplicationDeploymentsCommand({ applicationIdentifier: app.applicationId, }));

ListApplicationDeployments

Lists deployments for an application.

Input

Parameter Type Required
applicationIdentifier string Yes
nextToken string No
maxResults integer No

Sample Request

await client.send(new ListApplicationDeploymentsCommand({ applicationIdentifier: app.applicationId, }));

Output

{ "items": [ { "deploymentId": "d1e2f3a4-5678-90ab-cdef-1234567890ab", "applicationId": "05c3fcc2-7900-41c4-adee-b59dc69be8ae", "buildId": "b1c2d3e4-5678-90ab-cdef-1234567890ab", "description": "Production release v1.0", "deploymentStatus": "deployed", "environment": "production", "analyticsTags": [{ "label": "resolved_issue" }], "contextAttributes": [{ "key": "region", "value": "us-west-2" }], "createdAt": "2026-08-01T16:00:00.000Z", "updatedAt": "2026-08-01T16:00:00.000Z", "updatedBy": "ci-deploy-bot" } ], "nextToken": null }

Errors

  • ResourceNotFoundException (404)

  • ValidationException (400)

  • InternalServerException (500)

CreateApplicationDeployment

Deploys a build to an environment, making it live for end users on all configured channels.

Input

Parameter Type Required
applicationIdentifier string Yes
buildIdentifier string Yes
description string No
environment string, enum No
languageCodes array No
analyticsTags array No
contextAttributes array No

Sample Request

await client.send(new CreateApplicationDeploymentCommand({ applicationIdentifier: app.applicationId, buildIdentifier: build.buildId, description: "Production release v1.0", environment: "production", languageCodes: ["en-US"], analyticsTags: [{ label: "resolved_issue" }], contextAttributes: [{ key: "region", value: "us-west-2" }], }));

Output

{ "deploymentId": "d1e2f3a4-5678-90ab-cdef-1234567890ab", "applicationId": "05c3fcc2-7900-41c4-adee-b59dc69be8ae", "buildId": "b1c2d3e4-5678-90ab-cdef-1234567890ab", "description": "Production release v1.0", "deploymentStatus": "pending", "environment": "production", "analyticsTags": [{ "label": "resolved_issue" }], "contextAttributes": [{ "key": "region", "value": "us-west-2" }], "createdAt": "2026-08-01T16:00:00.000Z", "updatedAt": "2026-08-01T16:00:00.000Z", "updatedBy": "ci-deploy-bot" }

Errors

  • ResourceNotFoundException (404)

  • ValidationException (400)

  • InternalServerException (500)

GetApplicationDeployment

Gets deployment details and status.

Input

Parameter Type Required
applicationIdentifier string Yes
deploymentIdentifier string Yes

Sample Request

await client.send(new GetApplicationDeploymentCommand({ applicationIdentifier: "05c3fcc2-7900-41c4-adee-b59dc69be8ae", deploymentIdentifier: "d1e2f3a4-5678-90ab-cdef-1234567890ab", }));

Output

{ "deploymentId": "d1e2f3a4-5678-90ab-cdef-1234567890ab", "applicationId": "05c3fcc2-7900-41c4-adee-b59dc69be8ae", "buildId": "b1c2d3e4-5678-90ab-cdef-1234567890ab", "description": "Production release v1.0", "deploymentStatus": "deployed", "environment": "production", "analyticsTags": [{ "label": "resolved_issue" }], "contextAttributes": [{ "key": "region", "value": "us-west-2" }], "createdAt": "2026-08-01T16:00:00.000Z", "updatedAt": "2026-08-01T16:00:00.000Z", "updatedBy": "ci-deploy-bot" }

Errors

  • ValidationException (400)

  • ResourceNotFoundException (404)

  • InternalServerException (500)

UpdateApplicationDeployment

Updates a deployment (e.g., deploy a different build, change environment, or roll back to a previous version).

Input

Parameter Type Required
applicationIdentifier string Yes
deploymentIdentifier string Yes
buildIdentifier string Yes
description string No
environment string, enum No
languageCodes array No
analyticsTags array No
contextAttributes array No

Sample Request

await client.send(new UpdateApplicationDeploymentCommand({ applicationIdentifier: "05c3fcc2-7900-41c4-adee-b59dc69be8ae", buildIdentifier: "b1c2d3e4-5678-90ab-cdef-1234567890ab", deploymentIdentifier: "d1e2f3a4-5678-90ab-cdef-1234567890ab", description: "Production release v2.0", environment: "production", analyticsTags: [{ label: "resolved_issue" }], contextAttributes: [{ key: "region", value: "us-west-2" }], }));

Output

{ "deploymentId": "d1e2f3a4-5678-90ab-cdef-1234567890ab", "applicationId": "05c3fcc2-7900-41c4-adee-b59dc69be8ae", "buildId": "b1c2d3e4-5678-90ab-cdef-1234567890ab", "description": "Production release v2.0", "deploymentStatus": "deployed", "environment": "production", "analyticsTags": [{ "label": "resolved_issue" }], "contextAttributes": [{ "key": "region", "value": "us-west-2" }], "createdAt": "2026-08-01T16:00:00.000Z", "updatedAt": "2026-08-01T16:00:00.000Z", "updatedBy": "ci-deploy-bot" }

Errors

  • ResourceNotFoundException (404)

  • ValidationException (400)

  • InternalServerException (500)

DeleteApplicationDeployment

Removes a deployment, taking the application offline. The application stays offline until you redeploy.

Input

Parameter Type Required
applicationIdentifier string Yes
deploymentIdentifier string Yes

Sample Request

await client.send(new DeleteApplicationDeploymentCommand({ applicationIdentifier: "05c3fcc2-7900-41c4-adee-b59dc69be8ae", deploymentIdentifier: "d1e2f3a4-5678-90ab-cdef-1234567890ab" }));

Output

No response body.

Errors

  • ValidationException (400)

  • ResourceNotFoundException (404)

  • InternalServerException (500)

Request Parameters

applicationIdentifier

Type: String

The application ID that owns the deployments.

deploymentIdentifier

Type: String

The unique identifier for a deployment (assigned on creation) and is used in Get, Update, and Delete operations.

buildIdentifier

Type: String

The build ID to deploy.

deploymentStatus

Type: String

The current deployment status (e.g., pending, deployed).

environment

Type: String

The target environment. One of: development, qa, staging, production.

description

Type: String

Deployment description. Max 200 characters.

languageCodes

Type: Array

Languages to deploy (e.g., ["en-US", "es-ES"]).

analyticsTags

Type: Array

Analytics tag references to attach to this deployment: [{ "label": "tag_name" }].

contextAttributes

Type: Array

Context attribute values for this deployment: [{ "key": "attribute_name", "value": "..." }]. Max 50 entries.

createdAt

Type: String

When the deployment was created (ISO 8601).

updatedAt

Type: String

When the deployment was last modified (ISO 8601).

updatedBy

Type: String

The identity of who last modified the deployment.