Skip to content

AWS.AppIntegrations reference

Source: src/AWS/AppIntegrations/Application.ts

An Amazon AppIntegrations application. Applications register external (iframe-hosted) apps — most commonly Amazon Connect agent workspace third-party applications — with a name, namespace, and the URL they are served from.

The namespace is immutable; changing it replaces the application. The name, description, access URL, approved origins, and permissions can all be updated in place.

Basic Application

import * as AppIntegrations from "alchemy/AWS/AppIntegrations";
const app = yield* AppIntegrations.Application("AgentApp", {
namespace: "com.example.agentapp",
accessUrl: "https://example.com",
});

Application with Permissions and Tags

const app = yield* AppIntegrations.Application("AgentApp", {
namespace: "com.example.agentapp",
accessUrl: "https://example.com",
description: "Agent workspace application",
permissions: ["User.Details.View"],
tags: { team: "contact-center" },
});

Source: src/AWS/AppIntegrations/CreateDataIntegrationAssociation.ts

Associates a client (identified by ClientId / ClientAssociationMetadata) with an AppIntegrations DataIntegration (app-integrations:CreateDataIntegrationAssociation). Associations have no independent delete API — they live and die with the data integration — so they are exposed as a runtime binding rather than a Resource.

Provide the CreateDataIntegrationAssociationHttp layer on the Function to satisfy the binding.

CreateDataIntegrationAssociation: Creating Data Integration Associations

Section titled “CreateDataIntegrationAssociation: Creating Data Integration Associations”
// init (provide AWS.AppIntegrations.CreateDataIntegrationAssociationHttp on the Function)
const createDataIntegrationAssociation =
yield* AWS.AppIntegrations.CreateDataIntegrationAssociation(integration);
// runtime — the DataIntegrationIdentifier is injected automatically
const { DataIntegrationAssociationId } =
yield* createDataIntegrationAssociation({
ClientId: "my-client",
ClientAssociationMetadata: { purpose: "sync" },
});

Source: src/AWS/AppIntegrations/DataIntegration.ts

An Amazon AppIntegrations data integration. Data integrations reference an external data source (an S3 bucket, or a SaaS application through Amazon AppFlow) so services like Amazon Q in Connect can ingest its content.

The KMS key, source URI, schedule, file configuration, and object configuration are immutable; changing any of them replaces the data integration. Only the name and description can be updated in place.

DataIntegration: Creating a Data Integration

Section titled “DataIntegration: Creating a Data Integration”

S3 Data Integration

import * as AppIntegrations from "alchemy/AWS/AppIntegrations";
import * as KMS from "alchemy/AWS/KMS";
import * as S3 from "alchemy/AWS/S3";
const bucket = yield* S3.Bucket("Content");
const key = yield* KMS.Key("ContentKey");
const integration = yield* AppIntegrations.DataIntegration("Content", {
kmsKey: key.keyArn,
sourceURI: Output.interpolate`s3://${bucket.bucketName}`,
});

Scheduled SaaS Data Integration

const integration = yield* AppIntegrations.DataIntegration("Salesforce", {
kmsKey: key.keyArn,
sourceURI: "Salesforce://AppFlow/my-connector-profile",
scheduleConfig: {
firstExecutionFrom: "2024-01-01T00:00:00Z",
object: "Account",
scheduleExpression: "rate(1 hours)",
},
});

Source: src/AWS/AppIntegrations/EventIntegration.ts

An Amazon AppIntegrations event integration. An event integration associates a partner event source with an Amazon EventBridge bus in your account so external applications (e.g. Amazon Connect third-party apps) can publish events into it. Only metadata is persisted — no EventBridge objects are created.

The event source and EventBridge bus are immutable; changing either replaces the event integration. Only the description can be updated in place.

EventIntegration: Creating an Event Integration

Section titled “EventIntegration: Creating an Event Integration”

Basic Event Integration

import * as AppIntegrations from "alchemy/AWS/AppIntegrations";
const events = yield* AppIntegrations.EventIntegration("PartnerEvents", {
source: "aws.partner/examplepartner.com",
eventBridgeBus: "default",
});

Event Integration with Description and Tags

const events = yield* AppIntegrations.EventIntegration("PartnerEvents", {
source: "aws.partner/examplepartner.com",
eventBridgeBus: "default",
description: "Events from Example Partner",
tags: { team: "integrations" },
});

Source: src/AWS/AppIntegrations/ListApplicationAssociations.ts

Lists the associations of an AppIntegrations Application — the Amazon Connect instances (or other clients) the application has been associated with (app-integrations:ListApplicationAssociations).

Provide the ListApplicationAssociationsHttp layer on the Function to satisfy the binding.

ListApplicationAssociations: Listing Application Associations

Section titled “ListApplicationAssociations: Listing Application Associations”
// init (provide AWS.AppIntegrations.ListApplicationAssociationsHttp on the Function)
const listApplicationAssociations =
yield* AWS.AppIntegrations.ListApplicationAssociations(application);
// runtime — the ApplicationId is injected automatically
const { ApplicationAssociations } = yield* listApplicationAssociations();

Source: src/AWS/AppIntegrations/ListApplications.ts

Lists the AppIntegrations applications in the account (app-integrations:ListApplications).

An account-level operation — bind it with no resource argument. Provide the ListApplicationsHttp layer on the Function to satisfy the binding.

// init — no resource argument (provide AWS.AppIntegrations.ListApplicationsHttp on the Function)
const listApplications = yield* AWS.AppIntegrations.ListApplications();
// runtime — page through the applications in the account
const { Applications } = yield* listApplications({});

Source: src/AWS/AppIntegrations/ListDataIntegrationAssociations.ts

Lists the associations of an AppIntegrations DataIntegration — the clients (e.g. Amazon Connect / Amazon Q) it has been associated with (app-integrations:ListDataIntegrationAssociations).

Provide the ListDataIntegrationAssociationsHttp layer on the Function to satisfy the binding.

ListDataIntegrationAssociations: Listing Data Integration Associations

Section titled “ListDataIntegrationAssociations: Listing Data Integration Associations”
// init (provide AWS.AppIntegrations.ListDataIntegrationAssociationsHttp on the Function)
const listDataIntegrationAssociations =
yield* AWS.AppIntegrations.ListDataIntegrationAssociations(integration);
// runtime — the DataIntegrationIdentifier is injected automatically
const { DataIntegrationAssociations } =
yield* listDataIntegrationAssociations();

Source: src/AWS/AppIntegrations/ListDataIntegrations.ts

Lists the AppIntegrations data integrations in the account (app-integrations:ListDataIntegrations).

An account-level operation — bind it with no resource argument. Provide the ListDataIntegrationsHttp layer on the Function to satisfy the binding.

ListDataIntegrations: Listing Data Integrations

Section titled “ListDataIntegrations: Listing Data Integrations”
// init — no resource argument (provide AWS.AppIntegrations.ListDataIntegrationsHttp on the Function)
const listDataIntegrations = yield* AWS.AppIntegrations.ListDataIntegrations();
// runtime — page through the data integrations in the account
const { DataIntegrations } = yield* listDataIntegrations({});

Source: src/AWS/AppIntegrations/ListEventIntegrationAssociations.ts

Lists the associations of an AppIntegrations EventIntegration — the clients that have associated with the event integration (app-integrations:ListEventIntegrationAssociations).

Provide the ListEventIntegrationAssociationsHttp layer on the Function to satisfy the binding.

ListEventIntegrationAssociations: Listing Event Integration Associations

Section titled “ListEventIntegrationAssociations: Listing Event Integration Associations”
// init (provide AWS.AppIntegrations.ListEventIntegrationAssociationsHttp on the Function)
const listEventIntegrationAssociations =
yield* AWS.AppIntegrations.ListEventIntegrationAssociations(integration);
// runtime — the EventIntegrationName is injected automatically
const { EventIntegrationAssociations } =
yield* listEventIntegrationAssociations();

Source: src/AWS/AppIntegrations/ListEventIntegrations.ts

Lists the AppIntegrations event integrations in the account (app-integrations:ListEventIntegrations).

An account-level operation — bind it with no resource argument. Provide the ListEventIntegrationsHttp layer on the Function to satisfy the binding.

ListEventIntegrations: Listing Event Integrations

Section titled “ListEventIntegrations: Listing Event Integrations”
// init — no resource argument (provide AWS.AppIntegrations.ListEventIntegrationsHttp on the Function)
const listEventIntegrations = yield* AWS.AppIntegrations.ListEventIntegrations();
// runtime — page through the event integrations in the account
const { EventIntegrations } = yield* listEventIntegrations({});

Source: src/AWS/AppIntegrations/UpdateDataIntegrationAssociation.ts

Updates an association of an AppIntegrations DataIntegration (app-integrations:UpdateDataIntegrationAssociation). Updating an association with an ON_DEMAND ExecutionConfiguration reruns the on-demand data-pull job — this is the data-plane trigger for pulling source data again.

Provide the UpdateDataIntegrationAssociationHttp layer on the Function to satisfy the binding.

UpdateDataIntegrationAssociation: Updating Data Integration Associations

Section titled “UpdateDataIntegrationAssociation: Updating Data Integration Associations”
// init (provide AWS.AppIntegrations.UpdateDataIntegrationAssociationHttp on the Function)
const updateDataIntegrationAssociation =
yield* AWS.AppIntegrations.UpdateDataIntegrationAssociation(integration);
// runtime — the DataIntegrationIdentifier is injected automatically
yield* updateDataIntegrationAssociation({
DataIntegrationAssociationIdentifier: associationId,
ExecutionConfiguration: {
ExecutionMode: "ON_DEMAND",
OnDemandConfiguration: { StartTime: startEpochMillis },
},
});