Adobe Experience Manager Connector
Description
Adobe Experience Manager as a Cloud Service is Adobe's cloud-native content management system for websites, headless content, and digital assets. This component allows reading content fragments, assets, folders, and published pages, managing assets and folders, and receiving content changes through polling triggers or Adobe I/O Events.
API Documentation
This component was built using the following API References:
Pages
List Sitemap URLs reads the site's public sitemap, and Get Published Page HTML fetches each page's published HTML: exactly what visitors see. This needs no Adobe Experience Manager setup beyond a published sitemap. Pages arrive without Adobe Experience Manager tags or authors, and page changes come from the page events of the AEM Sites Event Subscription trigger rather than a polling trigger.
Get Published Page HTML accepts the loc of a List Sitemap URLs result or the url of an AEM Sites Event Subscription page event.
Asynchronous Jobs
Import Asset from URL starts a job in Adobe Experience Manager and returns before the work finishes; check its progress with Get Import Job Status. Create Folders, Delete Folders, and Delete Asset either finish within the request or start a job, depending on how Adobe Experience Manager handles the request. When one returns a jobId, check it with Get Folder Job Status or Get Asset Job Status. Create Folders and Delete Folders fail when no folder could be created or deleted; when only some fail, the failures are listed in the result's failedFolders.
Update Asset Metadata reads the asset's current metadata first and sends its version with the update, so a change made by someone else in between fails with a precondition error rather than being overwritten.
Not Yet Supported
Direct binary upload, replacing an asset's binary, creating or updating renditions, comments, and copying or moving assets and folders are not covered by Adobe's stable Experience Manager APIs. Use Raw Request for these.
Connections
OAuth 2.0 Client Credentials
key: aemOAuthServerToServerThe OAuth 2.0 Client Credentials connection authenticates to Adobe Experience Manager as a Cloud Service with an OAuth Server-to-Server credential from the Adobe Developer Console. Every action and trigger in this component works with it, and it is the only credential type Adobe documents for the Adobe I/O Events registrations the AEM Sites Event Subscription and AEM Assets Event Subscription triggers create. Requests run as the credential's technical account, with the permissions of the product profiles assigned to it. To run requests as a specific Adobe user instead, use the OAuth 2.0 connection.
Prerequisites
- An Adobe Experience Manager as a Cloud Service environment with OpenAPI-based APIs available
- Administrator access to Cloud Manager, the Adobe Admin Console, and the Adobe Developer Console for the organization
- Access to the environment's AEM code repository, to allow the credential's client ID in
config/api.yaml
Setup Steps
Adobe's OpenAPI setup guide covers each step in detail.
- In Cloud Manager, modernize the environment so its AEM API services can be assigned to product profiles (Add Product Profiles on the environment)
- In the Adobe Admin Console, add the AEM API services for Sites and Assets to a product profile. The profile's permissions decide what the connection can read and change (credentials and product profiles)
- In the Adobe Developer Console, create a project and add the AEM Sites, Assets Author, and Folders APIs, choosing OAuth Server-to-Server and the product profile from step 2
- For the AEM Sites Event Subscription and AEM Assets Event Subscription triggers only, also add I/O Management API to the same credential and enable AEM Events for the environment. Note the project's Consumer Organization ID, Project ID, and Workspace ID, and the Event Provider ID each trigger asks for: Adobe creates one AEM Sites event provider and one AEM Assets event provider per environment
- From the credential's page in the Developer Console, copy the Client ID, Client Secret, and Scopes
- Add the Client ID to
allowedClientIDs.authorin the environment'sconfig/api.yamland deploy it through the Cloud Manager Config Pipeline. Until this is deployed, AEM rejects every request with a 403
Configure the Connection
- AEM Author Host: The author host from Cloud Manager, without
https://(for exampleauthor-p12345-e123456.adobeaemcloud.com) - Client ID and Client Secret: From the OAuth Server-to-Server credential. The client ID is also sent as the
X-Api-Keyheader - Scopes: Paste the scopes exactly as the credential lists them. Adobe issues them per credential, so they vary with the APIs added in step 3 (Server-to-Server token reference)
- Token URL: Keep the default Adobe IMS endpoint unless Adobe directs a different one
Verify Connection
Run List Content Fragment Models or List Folder Contents against the connection. A 403 response usually has one of two causes, and the error message names both: the client ID is not yet allowed in config/api.yaml (step 6), or the product profile from step 2 lacks access to the API or content requested. The detail field in Adobe's response tells them apart: IMS Client ID not allowlisted points to step 6, and The user is not assigned to the right Product Profile in Adobe Admin Console. points to step 2. A 403 whose body reads Api Key is invalid comes from Adobe's API gateway instead: the Developer Console project from step 3 does not include the AEM API that serves the request.
| Input | Notes | Example |
|---|---|---|
| AEM Author Host | The host name of the AEM as a Cloud Service author environment, without https://. Shown in Cloud Manager as the author URL. | author-p12345-e123456.adobeaemcloud.com |
| Client ID | The Client ID of the OAuth Server-to-Server credential in the Adobe Developer Console project. Also sent as the X-Api-Key header. | a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 |
| Client Secret | The Client Secret of the OAuth Server-to-Server credential in the Adobe Developer Console project. | |
| Scopes | The space or comma separated scopes listed on the OAuth Server-to-Server credential in the Adobe Developer Console. Copy them exactly as shown. | openid, AdobeID |
| Token URL | The Adobe IMS token endpoint. Change only when Adobe directs a different region. | https://ims-na1.adobelogin.com/ims/token/v3 |
OAuth 2.0
key: aemOAuthWebAppThe OAuth 2.0 connection authenticates to Adobe Experience Manager as a Cloud Service as an Adobe user, with an OAuth Web App credential from the Adobe Developer Console. Requests run with that user's AEM permissions, so a user without access to an asset, folder, or content fragment gets a 403 for it.
Use this connection for the asset, folder, and page actions and the New and Updated Assets trigger. The content fragment actions and the New and Updated Fragments trigger need the OAuth 2.0 Client Credentials connection: the Developer Console grants a Web App credential only the Assets Author API scopes, and AEM answers content fragment requests made with it with 403 The access token is missing required scopes. The AEM Sites Event Subscription and AEM Assets Event Subscription triggers also require the OAuth 2.0 Client Credentials connection: Adobe documents Adobe I/O Events registrations for OAuth Server-to-Server credentials only, so the trigger refuses this connection at deploy.
Prerequisites
- An Adobe Experience Manager as a Cloud Service environment with OpenAPI-based APIs available
- Administrator access to the Adobe Developer Console for the organization
- Access to the environment's AEM code repository, to allow the credential's client ID in
config/api.yaml - An Adobe user with AEM access to the content the integration reads or changes
Setup Steps
- In the Adobe Developer Console, open or create a project and click Add API
- Filter by Experience Cloud, select the AEM Assets Author API card, and click Next
- Select User Authentication, then OAuth Web App, and click Next
- Enter
https://oauth2.prismatic.io/callbackas both the Default redirect URI and the Redirect URI pattern. The pattern is a regular expression, so escape each.in it with a backslash - Review the scopes and click Save configured API. The Assets Author API grants both the
aem.assets.authorandaem.foldersscopes, so one credential covers asset and folder requests - From the credential's page, copy the Client ID and Client Secret
- Add the Client ID to
allowedClientIDs.authorin the environment'sconfig/api.yamland deploy it through the Cloud Manager Config Pipeline, as described in Adobe's OpenAPI setup guide. Until this is deployed, AEM rejects every request with a 403
Configure the Connection
- AEM Author Host: The author host from Cloud Manager, without
https://(for exampleauthor-p12345-e123456.adobeaemcloud.com) - Client ID and Client Secret: From the OAuth Web App credential. The client ID is also sent as the
X-Api-Keyheader - Scopes: Enter the scopes exactly as the credential's Scopes tab lists them. Adobe rejects the authorization with
invalid_scopewhen a scope the credential does not list is requested. The default matches an Assets Author API credential:openid,AdobeID,aem.assets.author,aem.folders - Authorize URL and Token URL: Keep the default Adobe IMS endpoints unless Adobe directs different ones
Save the configuration and authorize the connection by signing in with the Adobe user the integration acts as.
Verify Connection
Run List Folder Contents against the connection. A 403 response means either the client ID is not yet allowed in config/api.yaml (step 7) or the signed-in user lacks access to the content requested.
Adobe issues a refresh token only when offline_access is requested and the user consents to it (Adobe IMS user authentication). The Developer Console does not list offline_access for an AEM Web App credential and IMS rejects a request that includes it, so no refresh token is issued and the connection must be re-authorized each time its access token expires, after 24 hours by default.
| Input | Notes | Example |
|---|---|---|
| AEM Author Host | The host name of the AEM as a Cloud Service author environment, without https://. Shown in Cloud Manager as the author URL. | author-p12345-e123456.adobeaemcloud.com |
| Authorize URL | The Adobe IMS authorization endpoint. Change only when Adobe directs a different region. | https://ims-na1.adobelogin.com/ims/authorize/v2 |
| Client ID | The Client ID of the OAuth Web App credential in the Adobe Developer Console project. Also sent as the X-Api-Key header. | a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 |
| Client Secret | The Client Secret of the OAuth Web App credential in the Adobe Developer Console project. | |
| Scopes | The comma separated scopes to request, exactly as the credential's Scopes tab in the Adobe Developer Console lists them. Adobe rejects the authorization when a scope the credential does not list is requested. | openid,AdobeID,aem.assets.author,aem.folders |
| Token URL | The Adobe IMS token endpoint. Change only when Adobe directs a different region. | https://ims-na1.adobelogin.com/ims/token/v3 |
Triggers
AEM Assets Event Subscription
Receive and validate asset events from Adobe Experience Manager, including metadata updates that the New and Updated Assets trigger cannot detect. Handles URL verification challenges automatically, and automatically creates and manages an Adobe I/O Events webhook registration with the environment's AEM Assets event provider when the instance is deployed, removing it when the instance is deleted. | key: aemAssetsEventWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Consumer Organization ID | The Adobe Developer Console consumer organization ID that owns the project. | 123456 |
| Event Types | The AEM Assets events to subscribe to. | aem.assets.asset.processing_completedaem.assets.asset.metadata_updatedaem.assets.asset.publishedaem.assets.asset.unpublishedaem.assets.asset.deleted |
| Project ID | The ID of the Adobe Developer Console project with AEM Events enabled. | 4566206088344794931 |
| Event Provider ID | The ID of the environment's AEM Assets event provider. Adobe creates one AEM Sites provider and one AEM Assets provider per environment once AEM Events is enabled for it. | 5b0beec8-725f-4881-97f4-bfb8bfb4b6d5 |
| Publish Base URL | The public base URL of the published site, used to build each record's URL from its path. Leave empty to omit URLs. | https://www.example.com |
| Workspace ID | The ID of the Adobe Developer Console workspace within the project. | 4566206088344853970 |
This trigger receives asset events from Adobe Experience Manager through Adobe I/O Events, from the environment's AEM Assets event provider. Content fragment and page events come from a separate AEM Sites provider and are received by the AEM Sites Event Subscription trigger. It automatically manages the Adobe I/O Events webhook registration, so no registration is created by hand.
How It Works
When this trigger is used in a flow:
- On Instance Deploy: The trigger registers the flow's webhook URL with Adobe I/O Events for the selected Event Types in the given Consumer Organization ID, Project ID, Workspace ID, and Event Provider ID. If a registration with the same settings already exists for the flow, it is reused. If the settings changed, every registration in the workspace pointing at this URL is removed and a new one is created, so the subscription always matches the inputs.
- On Instance Deletion: The trigger removes every registration in the workspace that points at the flow's webhook URL.
Adobe I/O Events calls the webhook in two ways, and the trigger routes each to its own branch:
- URL Verification branch: Adobe confirms a new registration with a request carrying a
challengevalue. The trigger echoes it back automatically, and the branch receives no event data. - Notification branch: Handles each delivered event. The trigger verifies Adobe's RSA-SHA256 digital signature on the raw request body against Adobe's published public keys, and rejects an event whose recipient client ID differs from the connection's client ID. Signature verification is skipped only in test runs from the integration designer.
Each event is normalized to the same { "changeType": ..., "record": ... } envelope the polling triggers return, plus the original event's eventId, eventSource, and eventType. Asset events have no created event, so Asset Processing Completed is reported as created and Asset Metadata Updated as modified.
Event Types
Available Events (5)
| Event | Description |
|---|---|
aem.assets.asset.processing_completed | An uploaded asset finished processing |
aem.assets.asset.metadata_updated | An asset's metadata was updated |
aem.assets.asset.published | An asset was published |
aem.assets.asset.unpublished | An asset was unpublished |
aem.assets.asset.deleted | An asset was deleted |
Refer to AEM Events as a Cloud Service for the complete and up-to-date list.
Returned Data
Example Payload
{
"changeType": "modified",
"record": {
"resourceType": "asset",
"id": "urn:aaid:aem:5b8f3e2a-9c1d-4e7f-a6b2-3d4c5e6f7a8b",
"path": "/content/dam/wknd/en/adventures/surf-camp/surf-camp-hero.jpg",
"url": "https://www.example.com/content/dam/wknd/en/adventures/surf-camp/surf-camp-hero.jpg",
"title": "Surf Camp Hero",
"tags": [],
"created": null,
"modified": "2026-09-18T09:31:47.364Z",
"published": null,
"scope": "4566206088344853970",
"data": {
"type": "aem.assets.asset.metadata_updated",
"time": "2026-09-18T09:31:47.364Z",
"data": {
"repositoryMetadata": {
"repo:assetId": "urn:aaid:aem:5b8f3e2a-9c1d-4e7f-a6b2-3d4c5e6f7a8b",
"repo:path": "/content/dam/wknd/en/adventures/surf-camp/surf-camp-hero.jpg",
"dc:format": "image/jpeg"
},
"assetMetadata": { "dc:title": "Surf Camp Hero" }
}
}
},
"eventId": "7c2e9a41-5d3b-4f6a-8e1c-2b9d0f4a6c83",
"eventSource": "acct:aem-p12345-e123456@adobe.com",
"eventType": "aem.assets.asset.metadata_updated"
}
Fields shown are representative. The full event is available under record.data.
Notes
- Asset Metadata Updated reports metadata-only edits, which the New and Updated Assets polling trigger cannot detect because they leave an asset's modify date unchanged
- This trigger requires the OAuth 2.0 Client Credentials connection, whose credential must include the I/O Management API for the given project and workspace, and AEM Events must be enabled for the environment. It refuses the OAuth 2.0 (Web App) connection at deploy, because Adobe documents Adobe I/O Events registrations for OAuth Server-to-Server credentials only
- Events for deleted and unpublished content are only available through this trigger; the polling triggers report records that still exist
Example Payload for AEM Assets Event Subscription⤓
AEM Sites Event Subscription
Receive and validate content fragment and page events from Adobe Experience Manager. Handles URL verification challenges automatically, and automatically creates and manages an Adobe I/O Events webhook registration with the environment's AEM Sites event provider when the instance is deployed, removing it when the instance is deleted. With a Publish Base URL, page events carry the published page URL for Get Published Page HTML. | key: aemSitesEventWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Consumer Organization ID | The Adobe Developer Console consumer organization ID that owns the project. | 123456 |
| Event Types | The AEM Sites content fragment and page events to subscribe to. | aem.sites.contentFragment.createdaem.sites.contentFragment.modifiedaem.sites.contentFragment.publishedaem.sites.contentFragment.unpublishedaem.sites.contentFragment.deletedaem.sites.page.createdaem.sites.page.modifiedaem.sites.page.publishedaem.sites.page.unpublishedaem.sites.page.deleted |
| Project ID | The ID of the Adobe Developer Console project with AEM Events enabled. | 4566206088344794931 |
| Event Provider ID | The ID of the environment's AEM Sites event provider. Adobe creates one AEM Sites provider and one AEM Assets provider per environment once AEM Events is enabled for it. | 61378e83-878f-409c-ade1-0e3482aa90a7 |
| Publish Base URL | The public base URL of the published site, used to build each record's URL from its path. Leave empty to omit URLs. | https://www.example.com |
| Workspace ID | The ID of the Adobe Developer Console workspace within the project. | 4566206088344853970 |
This trigger receives content fragment and page events from Adobe Experience Manager through Adobe I/O Events, from the environment's AEM Sites event provider. Asset events come from a separate AEM Assets provider and are received by the AEM Assets Event Subscription trigger. It automatically manages the Adobe I/O Events webhook registration, so no registration is created by hand.
How It Works
When this trigger is used in a flow:
- On Instance Deploy: The trigger registers the flow's webhook URL with Adobe I/O Events for the selected Event Types in the given Consumer Organization ID, Project ID, Workspace ID, and Event Provider ID. If a registration with the same settings already exists for the flow, it is reused. If the settings changed, every registration in the workspace pointing at this URL is removed and a new one is created, so the subscription always matches the inputs.
- On Instance Deletion: The trigger removes every registration in the workspace that points at the flow's webhook URL.
Adobe I/O Events calls the webhook in two ways, and the trigger routes each to its own branch:
- URL Verification branch: Adobe confirms a new registration with a request carrying a
challengevalue. The trigger echoes it back automatically, and the branch receives no event data. - Notification branch: Handles each delivered event. The trigger verifies Adobe's RSA-SHA256 digital signature on the raw request body against Adobe's published public keys, and rejects an event whose recipient client ID differs from the connection's client ID. Signature verification is skipped only in test runs from the integration designer.
Each event is normalized to the same { "changeType": ..., "record": ... } envelope the polling triggers return, plus the original event's eventId, eventSource, and eventType.
Event Types
Available Events (10)
| Event | Description |
|---|---|
aem.sites.contentFragment.created | A content fragment was created |
aem.sites.contentFragment.modified | A content fragment was modified |
aem.sites.contentFragment.published | A content fragment was published |
aem.sites.contentFragment.unpublished | A content fragment was unpublished |
aem.sites.contentFragment.deleted | A content fragment was deleted |
aem.sites.page.created | A page was created |
aem.sites.page.modified | A page was modified |
aem.sites.page.published | A page was published |
aem.sites.page.unpublished | A page was unpublished |
aem.sites.page.deleted | A page was deleted |
Refer to AEM Events as a Cloud Service for the complete and up-to-date list.
Returned Data
Example Payload
{
"changeType": "modified",
"record": {
"resourceType": "page",
"id": "/content/wknd/us/en/adventures/surf-camp",
"path": "/content/wknd/us/en/adventures/surf-camp",
"url": "https://www.example.com/content/wknd/us/en/adventures/surf-camp.html",
"title": null,
"tags": [],
"created": null,
"modified": "2026-09-18T09:25:02.374Z",
"published": null,
"scope": "4566206088344853970",
"data": {
"type": "aem.sites.page.modified",
"time": "2026-09-18T09:25:02.374Z",
"data": {
"path": "/content/wknd/us/en/adventures/surf-camp",
"template": { "id": "/conf/wknd/settings/wcm/templates/page-content" },
"properties": [{ "name": "jcr:title", "changeType": "modified" }]
}
}
},
"eventId": "1b4f6d3e-2a5c-4e8f-9b7a-0c1d2e3f4a5b",
"eventSource": "acct:aem-p12345-e123456@adobe.com",
"eventType": "aem.sites.page.modified"
}
Fields shown are representative. The full event is available under record.data.
Notes
- Page events carry the page path. When Publish Base URL is set, a page event's
urlis the published page with its.htmlextension and is valid input to Get Published Page HTML. Content fragment events buildurlthe same way, without the extension - This trigger requires the OAuth 2.0 Client Credentials connection, whose credential must include the I/O Management API for the given project and workspace, and AEM Events must be enabled for the environment. It refuses the OAuth 2.0 (Web App) connection at deploy, because Adobe documents Adobe I/O Events registrations for OAuth Server-to-Server credentials only
- Events for deleted and unpublished content are only available through this trigger; the polling triggers report records that still exist
Example Payload for AEM Sites Event Subscription⤓
New and Updated Assets
Retrieves existing and ongoing assets from Adobe Experience Manager. Load history once, check for changes on a schedule, or both. | key: assetChanges
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Folders | Only include assets inside one of these folder IDs, at any depth. | urn:aaid:aem:abcd1234-ab12-ab12-ab12-abcdef123456 |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each asset modified on or after this date once. | 2026-01-01 |
| MIME Types | Only include assets with one of these exact MIME types. | application/pdf |
| Publish Base URL | The public base URL of the published site, used to build each record's URL from its path. Leave empty to omit URLs. | https://www.example.com |
This trigger polls Adobe Experience Manager for new and updated assets using the AEM Assets Author API. It reports assets in the selected Folders (or the whole DAM when none are selected) that match the configured MIME types.
How It Works
- The trigger runs on the configured schedule
- Each recurrence reads a time window that starts where the previous window ended and ends two minutes before the recurrence began. The two-minute lag lets changes that the search index has not yet picked up settle, and the window's upper bound is fixed while it is read
- It searches assets whose repository modify date falls inside the window, oldest first, so an asset on a window boundary is delivered by exactly one window. AEM moves that date when an asset is uploaded or a new version of its file is uploaded, but not when only its metadata is edited, so a metadata-only change is not reported. Use the AEM Assets Event Subscription trigger's Asset Metadata Updated event for those
- Each asset is tagged with a
changeType: initialSync while the initial sync runs, otherwise created when it was created inside the window, published when it was published inside the window, and modified for any other change - The window's end becomes the trigger's stored position only once every page of the window has been read
Initial Sync
An initial sync seeds every asset modified on or after the Look-back Date (YYYY-MM-DD) exactly once. It begins on the first recurrence, when the trigger has no stored position. Unlike a change feed, it ignores no inputs: Folders and MIME Types narrow the sync the same way they narrow later recurrences. Left empty, there is no sync and the trigger starts from its first recurrence.
The sync window's upper bound is fixed when the sync begins, so an asset modified mid-drain is picked up by the first incremental recurrence rather than by the sync. Once the window is fully read, the trigger stores that bound as its position and the first incremental recurrence resumes from exactly there; nothing in the payload marks the handoff other than changeType changing from initialSync. With batching off each recurrence reads at most 20 pages of 50 assets, so a large window spans several recurrences; with batching on the window drains within one recurrence.
Folders and MIME Types still apply throughout, and Publish Base URL still builds each record's url.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Adobe Experience Manager.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
A batched flow drains the backlog within one recurrence; an unbatched flow drains it up to 20 pages per recurrence.
With batching off a downstream step reads body.data.items, an array of every changed asset in the recurrence. With batching on that array does not exist: each execution receives one { "changeType": ..., "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading body.data.items must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns an items array. Each item carries a changeType and a record in the same envelope every Adobe Experience Manager trigger uses; record.data holds the full API object. Fields shown are representative. The full response object includes additional properties.
Example Response
{
"data": {
"items": [
{
"changeType": "modified",
"record": {
"resourceType": "asset",
"id": "urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f",
"path": "/content/dam/wknd-shared/en/city.jpeg",
"url": "https://www.example.com/content/dam/wknd-shared/en/city.jpeg",
"title": "City Skyline",
"tags": [],
"created": "2026-04-14T06:31:07.174Z",
"modified": "2026-09-18T09:21:44.000Z",
"published": null,
"scope": "urn:aaid:aem:abcd1234-ab12-ab12-ab12-abcdef123456",
"data": {
"assetId": "urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f"
}
}
}
]
}
}
With batching on, each execution receives one item, or an array of items when the batch size is greater than 1. The items wrapper is not part of this shape.
Batched Item
{
"changeType": "modified",
"record": {
"resourceType": "asset",
"id": "urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f",
"path": "/content/dam/wknd-shared/en/city.jpeg",
"url": "https://www.example.com/content/dam/wknd-shared/en/city.jpeg",
"title": "City Skyline",
"tags": [],
"created": "2026-04-14T06:31:07.174Z",
"modified": "2026-09-18T09:21:44.000Z",
"published": null,
"scope": "urn:aaid:aem:abcd1234-ab12-ab12-ab12-abcdef123456",
"data": {
"assetId": "urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f"
}
}
}
Notes
- Deleted assets are not reported by polling; use the AEM Assets Event Subscription trigger to receive delete and unpublish events
Example Payload for New and Updated Assets⤓
New and Updated Fragments
Retrieves existing and ongoing content fragments from Adobe Experience Manager. Load history once, check for changes on a schedule, or both. | key: contentFragmentChanges
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Locales | Only return content fragments in one of these locales. | en |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each content fragment modified on or after this date once. | 2026-01-01 |
| Content Fragment Models | Only return content fragments based on one of these model IDs. | L2NvbmYvd2tuZC1zaGFyZWQvc2V0dGluZ3MvZGFtL2NmbS9tb2RlbHMvYWR2ZW50dXJl |
| Path | Only return content fragments under this folder path below /content/dam, such as wknd/en/adventures. A full repository path starting with /content/dam is also accepted. | wknd/en/adventures |
| Publish Base URL | The public base URL of the published site, used to build each record's URL from its path. Leave empty to omit URLs. | https://www.example.com |
| Statuses | Only emit content fragments in one of these statuses. The default covers live content: Published, and Modified (published, then edited). | PUBLISHEDMODIFIED |
| Tags | Only return content fragments with at least one of these tag IDs. | wknd-shared:season/summer |
This trigger polls Adobe Experience Manager for new and updated content fragments using the AEM Sites API. It reports content fragments under a Path (or the whole DAM when omitted) that match the configured filters.
How It Works
- The trigger runs on the configured schedule
- Each recurrence reads a time window that starts where the previous window ended and ends two minutes before the recurrence began. The two-minute lag lets changes that the search index has not yet picked up settle, and the window's upper bound is fixed while it is read
- It searches content fragments created or modified inside the window, oldest first, and keeps only those whose change time falls inside the window, so a fragment on a window boundary is delivered by exactly one window
- Each content fragment is tagged with a
changeType: initialSync while the initial sync runs, otherwise created when it was created inside the window, published when it was published inside the window, and modified for any other change - The window's end becomes the trigger's stored position only once every page of the window has been read
Initial Sync
An initial sync seeds every content fragment modified on or after the Look-back Date (YYYY-MM-DD) exactly once. It begins on the first recurrence, when the trigger has no stored position. Unlike a change feed, it ignores no inputs: Path, Statuses, Content Fragment Models, Tags, and Locales narrow the sync the same way they narrow later recurrences. Left empty, there is no sync and the trigger starts from its first recurrence.
The sync window's upper bound is fixed when the sync begins, so a content fragment modified mid-drain is picked up by the first incremental recurrence rather than by the sync. Once the window is fully read, the trigger stores that bound as its position and the first incremental recurrence resumes from exactly there; nothing in the payload marks the handoff other than changeType changing from initialSync. With batching off each recurrence reads at most 20 pages of 50 content fragments, so a large window spans several recurrences; with batching on the window drains within one recurrence.
Path, Statuses, Content Fragment Models, Tags, and Locales still apply throughout, and Publish Base URL still builds each record's url.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Adobe Experience Manager.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
A batched flow drains the backlog within one recurrence; an unbatched flow drains it up to 20 pages per recurrence.
With batching off a downstream step reads body.data.items, an array of every changed content fragment in the recurrence. With batching on that array does not exist: each execution receives one { "changeType": ..., "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading body.data.items must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns an items array. Each item carries a changeType and a record in the same envelope every Adobe Experience Manager trigger uses; record.data holds the full API object. Fields shown are representative. The full response object includes additional properties.
Example Response
{
"data": {
"items": [
{
"changeType": "modified",
"record": {
"resourceType": "contentFragment",
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"path": "/content/dam/wknd-shared/en/adventures/surf-camp/surf-camp",
"url": "https://www.example.com/content/dam/wknd-shared/en/adventures/surf-camp/surf-camp",
"title": "Surf Camp",
"tags": [
{
"id": "wknd-shared:activity/surfing",
"title": "Surfing",
"titlePath": "WKND Shared : Activity / Surfing"
}
],
"created": "2026-03-02T15:04:11.000Z",
"modified": "2026-09-18T09:21:44.000Z",
"published": null,
"scope": "/content/dam/wknd-shared/en",
"data": {
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"title": "Surf Camp"
}
}
}
]
}
}
With batching on, each execution receives one item, or an array of items when the batch size is greater than 1. The items wrapper is not part of this shape.
Batched Item
{
"changeType": "modified",
"record": {
"resourceType": "contentFragment",
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"path": "/content/dam/wknd-shared/en/adventures/surf-camp/surf-camp",
"url": "https://www.example.com/content/dam/wknd-shared/en/adventures/surf-camp/surf-camp",
"title": "Surf Camp",
"tags": [
{
"id": "wknd-shared:activity/surfing",
"title": "Surfing",
"titlePath": "WKND Shared : Activity / Surfing"
}
],
"created": "2026-03-02T15:04:11.000Z",
"modified": "2026-09-18T09:21:44.000Z",
"published": null,
"scope": "/content/dam/wknd-shared/en",
"data": {
"id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"title": "Surf Camp"
}
}
}
Notes
- Deleted content fragments are not reported by polling; use the AEM Sites Event Subscription trigger to receive delete and unpublish events
Example Payload for New and Updated Fragments⤓
Data Sources
Select Asset
Select an asset from the list of assets. | key: selectAsset | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for Select Asset⤓
Select Asset Rendition
Select a rendition from the renditions available for an asset. | key: selectAssetRendition | type: picklist
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for Select Asset Rendition⤓
Select Content Fragment
Select a content fragment from the list of content fragments. | key: selectContentFragment | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Path | Only return content fragments under this folder path below /content/dam, such as wknd/en/adventures. A full repository path starting with /content/dam is also accepted. | wknd/en/adventures |
Example Payload for Select Content Fragment⤓
Select Content Fragment Model
Select a content fragment model from the list of models. | key: selectContentFragmentModel | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for Select Content Fragment Model⤓
Select Folder
Select an asset folder from the folders under /content/dam. | key: selectFolder | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for Select Folder⤓
Select Folder Path
Select an asset folder path from /content/dam and the folders under it. | key: selectFolderPath | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for Select Folder Path⤓
Select Sitemap Page
Select a published page URL from a site's sitemap. | key: selectSitemapPage | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Sitemap URL | The https:// URL of the site's sitemap or sitemap index. Child sitemaps on the same host are followed. | https://www.example.com/sitemap.xml |
Example Payload for Select Sitemap Page⤓
Actions
Create Folders
Create one or more asset folders. Fails when no folder could be created; when only some fail, they are listed in failedFolders. A request that runs as a job returns a job ID; check it with Get Folder Job Status. | key: createFolders
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Folder Paths | The folder paths below /content/dam, such as wknd-shared/en/new-folder. A full repository path starting with /content/dam is also accepted. | wknd-shared/en/new-folder |
Example Payload for Create Folders⤓
Delete Asset
Delete an asset. Usually completes immediately; when AEM runs the delete as a job, returns a job ID to check with Get Asset Job Status. | key: deleteAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. | |
| Force | When true, deletes the asset even when it is referenced elsewhere. | false |
Example Payload for Delete Asset⤓
Delete Folders
Delete one or more asset folders by path. Fails when no folder could be deleted; when only some fail, they are listed in failedFolders. A request that runs as a job returns a job ID; check it with Get Folder Job Status. | key: deleteFolders
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Folder Paths | The folder paths below /content/dam, such as wknd-shared/en/new-folder. A full repository path starting with /content/dam is also accepted. | wknd-shared/en/new-folder |
| Force | When true, deletes even when assets in the folders are referenced elsewhere. | false |
| Recursive | When true, deletes each folder and everything inside it. | false |
Example Payload for Delete Folders⤓
Download Asset
Download the original binary of an asset. | key: downloadAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. | |
| File Name | The file name to request the binary under, usually the asset's own name. | city.jpeg |
Example Payload for Download Asset⤓
Download Asset Rendition
Download a rendition of an asset, such as a web-optimized image or text version. | key: downloadAssetRendition
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. | |
| Rendition Name | The name of the rendition, as returned by List Asset Renditions. | cq5dam.web.1280.1280.jpeg |
| File Name | The file name to request the binary under, usually the asset's own name. | city.jpeg |
Example Payload for Download Asset Rendition⤓
Get Asset Job Status
Retrieve the state of a Delete Asset job. | key: getAssetJobStatus
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Job ID | The job ID returned by the action that started the job. | 5f8b2c1e-3a4d-4e6f-9b7a-1c2d3e4f5a6b |
Example Payload for Get Asset Job Status⤓
Get Asset Metadata
Retrieve the repository and asset metadata of an asset. | key: getAssetMetadata
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for Get Asset Metadata⤓
Get Content Fragment
Retrieve a content fragment by ID. | key: getContentFragment
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Content Fragment ID | The unique identifier for the content fragment, a UUID as returned by List Content Fragments or Search Content Fragments. | 4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Include Metadata | When true, includes each content fragment's metadata in the response. | false |
| References | Which referenced content to include. Leave empty to omit references. |
Example Payload for Get Content Fragment⤓
Get Folder Job Status
Retrieve the state of a Create Folders or Delete Folders job. | key: getFolderJobStatus
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Job ID | The job ID returned by the action that started the job. | 5f8b2c1e-3a4d-4e6f-9b7a-1c2d3e4f5a6b |
Example Payload for Get Folder Job Status⤓
Get Import Job Status
Retrieve the state and progress of an Import Asset from URL job. | key: getImportJobStatus
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Job ID | The job ID returned by the action that started the job. | 5f8b2c1e-3a4d-4e6f-9b7a-1c2d3e4f5a6b |
Example Payload for Get Import Job Status⤓
Get Published Page HTML
Retrieve the published HTML of a page by URL. Accepts URLs from List Sitemap URLs or AEM Sites Event Subscription page events. | key: getPublishedPageHtml
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Page URL | The https:// URL of the published page to fetch. | https://www.example.com/en/adventures/surf-camp.html |
| Sitemap URL | The https:// URL of the site's sitemap or sitemap index. Used only to populate the Page URL dropdown; this action does not send it. | https://www.example.com/sitemap.xml |
Example Payload for Get Published Page HTML⤓
Import Asset from URL
Create an asset by having AEM download a file from a URL. Runs as a job; check it with Get Import Job Status. | key: importAssetFromUrl
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| File Name | The name the asset is created with. | city.jpeg |
| File URL | The https:// URL AEM downloads the file from. It must be reachable from AEM. | https://cdn.example.com/city.jpeg |
| Destination Folder Path | The path of the folder to import into, below /content/dam, such as wknd-shared/en. A full repository path starting with /content/dam is also accepted. | wknd-shared/en |
| MIME Type | The file's MIME type. Leave empty to let AEM detect it. | image/jpeg |
Example Payload for Import Asset from URL⤓
List Asset Renditions
List the renditions available for an asset. | key: listAssetRenditions
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. |
Example Payload for List Asset Renditions⤓
List Assets in Folder Tree
List every asset in a folder and all of its subfolders. | key: listAssetsInFolderTree
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Root Folder Path | The path of the folder to walk, below /content/dam, such as wknd-shared/en. Assets in every subfolder are included. A full repository path starting with /content/dam is also accepted. | wknd-shared/en |
Example Payload for List Assets in Folder Tree⤓
List Content Fragment Models
List the content fragment models available in the environment. | key: listContentFragmentModels
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination, up to 500 pages of 50. Limit is ignored; when Cursor is set, fetching starts from that page. When more results remain, the output includes a cursor to continue from. | false |
| Pagination | Cursor and page-size controls for paging through results. | |
| Projection | How much of each content fragment to return. Leave empty for the API default. |
Example Payload for List Content Fragment Models⤓
List Content Fragment Variations
List the variations of a content fragment. | key: listContentFragmentVariations
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination, up to 500 pages of 50. Limit is ignored; when Cursor is set, fetching starts from that page. When more results remain, the output includes a cursor to continue from. | false |
| Content Fragment ID | The unique identifier for the content fragment, a UUID as returned by List Content Fragments or Search Content Fragments. | 4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Pagination | Cursor and page-size controls for paging through results. |
Example Payload for List Content Fragment Variations⤓
List Content Fragments
List content fragments, optionally under a path. | key: listContentFragments
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination, up to 500 pages of 50. Limit is ignored; when Cursor is set, fetching starts from that page. When more results remain, the output includes a cursor to continue from. | false |
| Include Metadata | When true, includes each content fragment's metadata in the response. | false |
| Pagination | Cursor and page-size controls for paging through results. | |
| Path | Only return content fragments under this folder path below /content/dam, such as wknd/en/adventures. A full repository path starting with /content/dam is also accepted. | wknd/en/adventures |
| Projection | How much of each content fragment to return. Leave empty for the API default. | |
| References | Which referenced content to include. Leave empty to omit references. |
Example Payload for List Content Fragments⤓
List Folder Contents
List the folders and assets directly inside a folder. | key: listFolderContents
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination, up to 500 pages of 50. Limit is ignored; when Cursor is set, fetching starts from that page. When more results remain, the output includes a cursor to continue from. | false |
| Order By | The field to order items by. Leave empty for the API default order. | |
| Pagination | Cursor and page-size controls for paging through results. | |
| Folder Path | The folder path below /content/dam, such as wknd-shared/en. A full repository path starting with /content/dam is also accepted. | wknd-shared/en |
| Item Types | Which kinds of items to list. | FOLDER,ASSET |
Example Payload for List Folder Contents⤓
List Sitemap URLs
List page URLs and their last-modified dates from a site's sitemap, following a sitemap index. Pass the URLs to Get Published Page HTML. | key: listSitemapUrls
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Exclude Path Prefixes | Leave out pages whose URL path starts with one of these prefixes. | /en/legal |
| Include Path Prefixes | Only return pages whose URL path starts with one of these prefixes. | /en/adventures |
| Modified After | Only return pages whose sitemap lastmod is after this ISO 8601 date-time. Pages without a lastmod are excluded when set. | 2026-01-01T00:00:00Z |
| Sitemap URL | The https:// URL of the site's sitemap or sitemap index. Child sitemaps on the same host are followed. | https://www.example.com/sitemap.xml |
Example Payload for List Sitemap URLs⤓
Raw Request
Send raw HTTP request to Adobe Experience Manager. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (for example, /adobe/sites/cf/fragments). The AEM author host is already included. | /adobe/sites/cf/fragments |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Example Payload for Raw Request⤓
Search Assets
Search assets by folder, MIME type, modified date, and text. | key: searchAssets
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination, up to 500 pages of 50. Limit is ignored; when Cursor is set, fetching starts from that page. When more results remain, the output includes a cursor to continue from. | false |
| Filters | Optional query controls to sort and refine the results. | |
| Folders | Only include assets inside one of these folder IDs, at any depth. | urn:aaid:aem:abcd1234-ab12-ab12-ab12-abcdef123456 |
| MIME Types | Only include assets with one of these exact MIME types. | application/pdf |
| Modified After | Only return assets modified at or after this ISO 8601 date-time. | 2026-01-01T00:00:00Z |
| Modified Before | Only return assets modified before this ISO 8601 date-time. | 2026-02-01T00:00:00Z |
| Pagination | Cursor and page-size controls for paging through results. |
Example Payload for Search Assets⤓
Search Content Fragments
Search content fragments by path, status, model, tag, locale, modified or published date, and text. | key: searchContentFragments
| Input | Notes | Example |
|---|---|---|
| Connection | The AEM as a Cloud Service connection to use. | |
| Date Range Filters | Optional date-range filters. Narrow results by when content fragments were last modified or published. | |
| Fetch All | When true, automatically fetches all pages of results using pagination, up to 500 pages of 50. Limit is ignored; when Cursor is set, fetching starts from that page. When more results remain, the output includes a cursor to continue from. | false |
| Filters | Optional query controls to sort and refine the results. | |
| Include Metadata | When true, includes each content fragment's metadata in the response. | false |
| Locales | Only return content fragments in one of these locales. | en |
| Content Fragment Models | Only return content fragments based on one of these model IDs. | L2NvbmYvd2tuZC1zaGFyZWQvc2V0dGluZ3MvZGFtL2NmbS9tb2RlbHMvYWR2ZW50dXJl |
| Only Direct Children | When true, only returns content fragments directly under Path, not in its subfolders. | false |
| Pagination | Cursor and page-size controls for paging through results. | |
| Path | Only return content fragments under this folder path below /content/dam, such as wknd/en/adventures. A full repository path starting with /content/dam is also accepted. | wknd/en/adventures |
| Projection | How much of each content fragment to return. Leave empty for the API default. | |
| Statuses | Only return content fragments in one of these statuses. | |
| Tags | Only return content fragments with at least one of these tag IDs. | wknd-shared:season/summer |
Example Payload for Search Content Fragments⤓
Update Asset Metadata
Set or remove asset metadata fields, such as dc:title, on an asset. | key: updateAssetMetadata
| Input | Notes | Example |
|---|---|---|
| Asset ID | The ID of the asset, in urn:aaid:aem:... form. | urn:aaid:aem:4f2b6c1e-8d3a-4b5c-9e7f-0a1b2c3d4e5f |
| Connection | The AEM as a Cloud Service connection to use. | |
| Metadata Values | Metadata fields to set, keyed by field name such as dc:title. Only asset metadata is writable; repository metadata is read-only. | dc:title |
| Fields to Remove | Metadata field names to remove from the asset, such as dc:description. | dc:description |
Example Payload for Update Asset Metadata⤓
Changelog
2026-11-02
Initial release of the Adobe Experience Manager component for working with content in Adobe Experience Manager as a Cloud Service:
- Added content fragment, asset, folder, and page actions, including Search Content Fragments, Search Assets, Update Asset Metadata, Import Asset from URL, Create Folders, and Get Published Page HTML, plus a Raw Request action
- Added New and Updated Fragments and New and Updated Assets polling triggers with opt-in batching, dispatching each changed record individually or in configured batches so large backlogs drain in one recurrence; enabling it changes the shape a downstream step receives
- Added an optional Look-back Date input on the New and Updated Fragments and New and Updated Assets triggers for performing an initial sync. The initial sync begins on the first recurrence and backfills every content fragment or asset modified on or after the specified date, seeding each once; later recurrences are unaffected. Leave it empty to start from the first recurrence with no backfill
- Added AEM Sites Event Subscription (content fragment and page events) and AEM Assets Event Subscription (asset events) webhook triggers, each registering its own Adobe I/O Events webhook for the selected event types
- Added Select Content Fragment, Select Content Fragment Model, Select Folder, Select Folder Path, Select Asset, Select Asset Rendition, and Select Sitemap Page data sources, also offered as inline dropdowns on the matching inputs for selecting content without looking up IDs and paths
- Added OAuth 2.0 Client Credentials and OAuth 2.0 connections. Use OAuth 2.0 Client Credentials for unattended and scheduled flows; the content fragment actions, the New and Updated Fragments trigger, and both event subscription triggers require it. Adobe issues no refresh token to the OAuth 2.0 connection, so a user must re-authorize it every 24 hours
- Added output schemas to 20 actions for improved field mapping during configuration
- Added inline action calling support to 22 actions for improved example output during configuration