Build better products with our product team
In Adobe Orchestrated Campaign (OCM) Update the standard AEP Profile UI to display relational store attributes and cross-table relationships. Why is this feature important to you A true 360-degree customer view is the primary promise of the Adobe Experience Platform. If relational data used heavily in orchestration is hidden from the Profile UI, practitioners cannot easily validate data ingestion or troubleshoot personalization logic. How would you like the feature to work The Profile UI should include a dedicated tab or widget that surfaces the underlying relational data and schema links associated with that specific profile's primary identifier. Current Behaviour Relational store attributes and cross-table relationships are not reflected in the standard Profile UI, preventing a unified “360 view” of a specific profile’s relational records
In Adobe Orchestrated Campaign (OCM) Enhance saved audiences to support incremental evaluation (entries and exits) rather than requiring full static snapshot re-evaluations. Why is this feature important to you Processing efficiency is critical when dealing with millions of profiles. Forcing a full re-evaluation is computationally expensive and delays the timely execution of campaigns that only need to trigger on net-new audience entries or exits. How would you like the feature to work Provide an option for saved audiences to evaluate continuously or incrementally, accurately flagging profiles that have recently qualified for or fallen out of the audience parameters. Current Behaviour Saved audiences function as static snapshots requiring full re-evaluation; they lack method to identify incremental entries, exits
In Adobe Orchestrated Campaign (OCM) Update the orchestration canvas UI to display unique profile counts rather than total records. Why is this feature important to you Architects and marketers rely on canvas counts for immediate sanity checks and sizing estimates. Displaying total records instead of unique profiles artificially inflates the perceived audience size, leading to misaligned expectations for campaign reach. How would you like the feature to work The numbers displayed above nodes and paths on the canvas should represent deduplicated, unique XDM profiles flowing through the orchestration step. Current Behaviour Counts displayed on the orchestration canvas represent total records rather than unique profiles
In Adobe Orchestrated Campaign (OCM) Enable the orchestration engine to dynamically re-evaluate consent and opt-in status mid-execution rather than relying on a static snapshot. Why is this feature important to you Compliance with privacy regulations (GDPR, CCPA) requires strict adherence to real-time consent. If a user opts out while a multi-day orchestrated campaign is running, they must be immediately suppressed from downstream deliveries. How would you like the feature to work The engine should natively ping the profile's consent attributes immediately prior to any delivery or action node, ensuring messaging is suppressed if the opt-in status has changed since the campaign started. Current Behaviour Consent opt in status is a static snapshot taken at the start and does not update mid execution
Provide native support and integration for Offer Decisioning capabilities within Orchestrated Campaigns. Why is this feature important to you Next-best-action and dynamic offer management are core to delivering personalized experiences at scale. Orchestration tools must be able to resolve and deliver centralized offers to ensure consistent messaging across channels. How would you like the feature to work Provide an "Offer Decisioning" node or native integration within messaging nodes in OCM, allowing the engine to fetch and append the highest-ranked offer for a profile dynamically during execution. Current Behaviour Native integration with Offer Decisioning capabilities is not currently supported
Integrate Send Time Optimization (STO) capabilities natively within Orchestrated Campaign execution. Why is this feature important to you Maximizing engagement requires reaching customers when they are most likely to interact. AI-driven STO is a standard expectation for modern marketing automation; lacking it degrades the performance of orchestrated communications compared to standard AJO journeys. How would you like the feature to work Include an STO toggle or configuration setting on messaging/delivery nodes within the orchestration canvas to optimize the dispatch time based on AI profile scoring. Current Behaviour Send Time Optimization (STO) is currently absent in orchestrated execution
Ensure orchestrated campaigns generate standard journey step events datasets for comprehensive execution reporting. Why is this feature important to you Robust analytics and observability are non-negotiable for enterprise deployments. Without step-event datasets, feeding orchestration performance data into Customer Journey Analytics (CJA) becomes incredibly difficult, leaving stakeholders blind to node-level drop-offs and operational metrics. How would you like the feature to work The orchestration engine should automatically log standard step events (entry, exit, error, transition) into an AEP dataset, identical to how AJO logs journey step events. Current Behaviour Orchestrated campaigns do not generate standard journey step events dataset
In Adobe Orchestrated Campaign (OCM) Enable direct access to Federated Audience Composition (FAC) attributes within the Build Audience step. Why is this feature important to you Federated data is crucial for enterprises maximizing external data warehouses. Forcing practitioners to publish to the Audience Portal and ingest via Read Audience breaks the seamless experience FAC is meant to provide, adding latency and administrative overhead. How would you like the feature to work FAC attributes should be natively accessible and selectable directly within the Build Audience node's configuration UI. Current Behaviour Federated Audience Composition (FAC) attributes are inaccessible in the Build Audience step unless the audience is first published to the Audience Portal and ingested via a Read Audience node
In Adobe Orchestrated Campaign (OCM) Allow Real-Time Customer Profile attributes to be queried directly within the Build Audience step. Why is this feature important to you Requiring an audience to be pre-created just to access standard profile attributes adds unnecessary steps to the workflow, increasing the time it takes to deploy campaigns and cluttering the platform with single-use audiences. How would you like the feature to work The Build Audience node should feature a direct integration with the RTCDP attribute library, allowing marketers to segment against profile data natively without relying on a pre-built Read Audience node. Current Behaviour Real-Time Customer Profile attributes cannot be queried directly within the Build Audience step; they are only accessible if an audience is pre-created and utilized via a Read Audience start node
In Adobe Orchestrated Campaign (OCM) Introduce a native activity to dynamically update profile attributes during campaign execution. Why is this feature important to you As users progress through an orchestration flow, their state changes (e.g., "engaged," "offer viewed"). We need the ability to write these state changes back to the profile mid-flight to ensure real-time accuracy across other integrated Adobe Experience Cloud solutions. How would you like the feature to work Provide an "Update Profile" action node within the OCM canvas that allows practitioners to write specific values or calculated attributes back to the XDM profile in real-time as the profile passes through the node. Current Behaviour There is no native activity available to update profile attributes dynamically during campaign execution
In Adobe Orchestrated Campaign (OCM) Bring support for Custom Actions to message external third-party endpoints into the Orchestrated Campaign framework. Why is this feature important to you Modern tech stacks require seamless API connectivity to systems outside the Adobe ecosystem (e.g., Slack, Zendesk, legacy CRMs). The inability to trigger external custom actions fragments the customer journey and limits omnichannel orchestration. How would you like the feature to work Enable the same Custom Action framework available in AJO within the OCM canvas, allowing us to configure and trigger outbound webhooks and API calls as standard orchestration nodes. Current Behaviour Custom Actions for messaging external third-party endpoints are not currently supported within the OC framework
In Adobe Orchestrated Campaign (OCM), Provide a global campaign-level setting to define and restrict profile exit behavior across the orchestration engine. Why is this feature important to you In complex campaigns, business rules (like a sudden unsubscribe, a purchase event, or an exclusion segment qualification) dictate that a profile must immediately exit the campaign. Managing this node-by-node is error-prone and inefficient. How would you like the feature to work Include a "Global Exit Criteria" configuration panel at the campaign level, where architects can define universal rules that immediately remove a profile from the orchestration flow if met. Current Behaviour The orchestration engine lacks a global campaign-level setting to restrict profile exit behavior
Improve the Adobe Orchestrated Campaign (OCM) orchestration canvas by allowing manual adjustment of connecting paths (up/down/left/right), similar to the AJO Journey canvas. Why is this feature important to you Enterprise orchestration workflows can become highly complex and visually dense. A rigid, linear canvas makes it incredibly difficult to map, read, and present workflows to stakeholders. Visual flexibility directly impacts practitioner efficiency. How would you like the feature to work Implement the drag-and-drop spline/routing logic currently used in Adobe Journey Optimizer, giving users the freedom to organize nodes and curve lines to optimize screen real estate. Current Behaviour Unlike the AJO Journey canvas, the connecting paths between orchestration nodes are linear and rigid, preventing manual adjustment (up/down/left/right) to optimize screen space or visual flow
In Adobe Orchestrated Campaign (OCM) Allow access to Real-Time Customer Profile attributes across all campaign starting nodes, not just Read Audience. Why is this feature important to you Flexibility in how campaigns are initiated is a core requirement for dynamic marketing. Restricting RTCDP access arbitrarily based on the entry node limits the architectural freedom to design trigger-based or event-driven orchestrations. How would you like the feature to work Real-Time Customer Profile attributes should be universally queryable and accessible regardless of whether the campaign begins with a Read Audience node or another entry mechanism. Current Behaviour Real Time Customer Profile attributes are only accessible when a campaign starts with a Read Audience
In Adobe Orchestrated Campaign (OCM) Expand the character limit for survey and review links stored in relational tables beyond the current 250-character maximum. Why is this feature important to you Modern tracking links, surveys, and dynamically personalized URLs heavily utilize query parameters for attribution and context, often easily exceeding 250 characters. This limitation causes broken links and truncated data. How would you like the feature to work Increase the character allowance for URL string fields in relational tables to better align with standard web practices (e.g., 2048 characters). Current Behaviour Survey and review links can be max 250 characters in relational table
OCM audiences utilized within Adobe Journey Optimizer (AJO) Journeys should retain and carry forward their specific enrichment attributes. Why is this feature important to you The true value of an Orchestrated Campaign lies in the rich data compiled during its workflow. When this data drops off as the audience enters a Journey, we lose the context required for deep, individualized downstream messaging and decisioning. How would you like the feature to work When an OCM audience triggers an AJO Journey, the journey payload should automatically inherit all enrichment attributes calculated during the orchestration phase, making them available for personalization in the Journey canvas. Current Behaviour OCM audiences used in Journeys do not carry their enrichment attributes into the journey flow.
In Adobe Orchestrated Campaign (OCM) Extend the availability of aggregate functions (e.g., SUM, COUNT, AVG) to the Build Audience step. Why is this feature important to you Marketers often need to build audiences based on aggregated behavioral metrics (e.g., "users who have made more than 3 purchases"). Forcing this logic down into the Enrichment phase creates unnecessary complexity when it should be a primary segmentation driver. How would you like the feature to work The UI for the Build Audience step should expose the same aggregate function capabilities currently reserved for Enrichment activities. Current Behaviour Aggregate functions are currently available in Enrichment activities but not within the Build Audience step
In Adobe Orchestrated Campaign (OCM) Enrichment nodes should be able to pull fields directly from the core XDM profile, not just from linked relational entities. Why is this feature important to you The Real-Time Customer Profile is the heart of the Adobe Experience Platform. If orchestration cannot easily leverage native XDM profile attributes during the enrichment phase, it severely limits personalization capabilities and forces redundant data mapping into relational stores. How would you like the feature to work Within an Enrichment activity, users should have full access to select and pull attributes natively from the unified XDM profile alongside relational entity data. Current Behaviour Enrichment is anchored to the targeting dimension but can pull fields from any properly linked relational entity and NOT from XDM profile
Enhance the reliability and error messaging of the preview functionality between orchestration nodes. Why is this feature important to you Data validation during the build phase is essential for trusting the orchestration engine. Vague errors prevent practitioners from effectively debugging schema or data flow issues, forcing reliance on trial-and-error testing. How would you like the feature to work The node preview should reliably render data samples. If an error occurs, the UI should provide specific, actionable diagnostic messages (e.g., highlighting exactly which schema field or table mapping failed) rather than generic fallbacks. Current Behaviour The preview functionality between nodes frequently fails with non-descriptive “something went wrong” or “table has changed” errors, hindering data validation
Provide the ability to edit or delete Profile Target Dimensions within the Adobe Orchestrated Campaign Module (OCM) UI after their initial configuration. Why is this feature important to you Business requirements and data models evolve over time. When Target Dimensions are locked, architects are forced into rigid technical debt, requiring cumbersome workarounds if the underlying identity schema or targeting strategy changes. How would you like the feature to work Administrators should have the ability to safely modify or deprecate existing Profile Target Dimensions within the UI, provided they are not actively running in live campaigns. Current Behaviour Profile Target Dimensions are foundational, immutable objects; once configured, they cannot be edited or deleted within the UI
There is a need for a centralized repository or UI view within Orchestrated Campaigns to easily inspect existing filter definitions. Why is this feature important to you Governance and validation are critical for enterprise deployments. Without a way to preview filter logic safely, practitioners risk accidentally altering campaign audiences during routine audits or troubleshooting. How would you like the feature to work Introduce a read-only "View Filters" modal or a dedicated tab in the OCM UI that allows users to inspect the detailed logic of an existing filter without having to enter an edit mode that risks overwriting it. Current Behaviour There is no centralized repository or UI view to inspect existing filter definitions without initiating an “overwrite filters” action within the Build Audience node
Hi, Problem: The scheduled reports are delivered without attachments after Q2 2026 release.Use case: Our team receives a scheduled report every day, but without attachments, it's difficult to see how the data looked on a particular day, especially on Saturday, Sunday and public holidays. Earlier we used to have a record for each day. Proposed Solution: I am requesting the restoration of the "Attachment" feature for scheduled reports.Enhancement from Q2 2026:
If you have ever pasted a carefully crafted date-time expression into a Journey wait node and been greeted by a vague parser error about the plus sign, you are not alone. Journey Optimizer’s expression language is strict about how arithmetic is written, and one missing pair of parentheses is enough to block your journey.In this short guide, we walk through a real pattern: computing a wait-until time from profile data and “days from today,” then show why the expression fails and the minimal syntactic change that makes it valid. What you are trying to doA common pattern is to combine currentTimeInMillis() with a millisecond offset derived from a profile reminder date, today’s date at midnight, and a fixed offset (for example, fourteen days in milliseconds). Conceptually that is straightforward arithmetic inside toDateTime / toDateTimeOnly. The expression that triggers the errorBelow is an example of the kind of nested expression teams often build for wait logic. It is semantically reasonable, but as written it can fail validation.toDateTimeOnly( toDateTime( currentTimeInMillis() + ( ( toInteger( toDateTime( concat( toString( #{ExperiencePlatform.ProfileFieldGroup.profile._dcthree.EventReminders.all(currentDataPackField.id == supplementalId).at(0).reminderDate} ), "T00:00:00.000" ) ) ) - toInteger( toDateTime( concat( toString(toDateOnly(now())), "T00:00:00.000" ) ) ) ) / 86400000 - 14 ) * 86400000 )) Error message: “The expression is invalid: You cannot use the character '+' like this because it is a keyword of the language. Please, add quotes to fix your expression.” Why it fails: arithmetic needs explicit groupingAJO documents a subtle rule for the + operator in advanced journey conditions: numeric addition must be expressed with operands wrapped in parentheses when they are themselves expressions. The documentation illustrates that something like toDateTimeOnly(now() + toDuration("PT1H")) can look semantically valid while still being syntactically rejected. The supported form wraps each operand, for example:toDateTimeOnly((now()) + (toDuration("PT1H"))) toDateTimeOnly((now()) - (toDuration("PT1H")))The same rule applies to your millis arithmetic: treat currentTimeInMillis(), each toInteger(toDateTime(...)) sub-expression, and literal products such as 14 * 86400000 as operands that should be parenthesized so the parser never sees an ambiguous + in an invalid position.For the full operator notes (including the + parenthesis requirement), see Adobe’s Journey Optimizer documentation on Operators. Corrected expressionApplying the same parenthesis discipline throughout—including around currentTimeInMillis(), each date conversion block, and the fourteen-day offset—yields a form the validator accepts. The inner day math can also be rearranged to subtract (14 * 86400000) directly once you are working purely in milliseconds, which keeps the intent clear. toDateTimeOnly( toDateTime( (currentTimeInMillis()) + ( ( toInteger( toDateTime( concat( toString( #{ ExperiencePlatform.ProfileFieldGroup.profile._dcthree.EventReminders.all( currentDataPackField.id == ${supplementalId} ).at(0).reminderDate } ), "T00:00:00.000" ) ) ) ) - ( toInteger( toDateTime( concat( toString(toDateOnly(now())), "T00:00:00.000" ) ) ) ) - (14 * 86400000) ) ))Adjust the profile path, collection filter, and supplemental identifier syntax to match your schema and how you pass context into the expression. The structural lesson—parenthesize operands to + and -—is what prevents the parser error. TakeawaysWhen combining function calls and arithmetic in wait nodes, prefer explicit parentheses around every operand to + and -. If you see the “+ is a keyword” style error, re-check nesting before chasing quote or escaping issues. Keep a link to the official Operators page handy when onboarding new journey authors.
In workfront the only option to use regex is REPLACEPATTERN. This too has its own forthcomings. It does not allow for complex regex patterns.For example:Expected result: REPLACEPATTERN({Custom Field},”[^a-zA-Z0-9\s]”,”_”). This does not work as intended.Workaround: REPLACEPATTERN(REPLACEPATTERN({Custom Field},”\s”,”_”),”\w”,”_”)It only allows shorthand expressions. And to add special characters there is no option whatsoever. So in line with this operation we have to use REPLACE function for each of the special characters. What we wantAllow standard regex syntax to be recognised in workfront. Introduce regex function that gives a boolean as output. Or even better a whole suite of functions using REGEX and have it as a separate section just like OTHER.
Currently Workfront does not recognise double qutoes as a string literal. Even if we use an escape character it does not work. This leads to the inability of using regex patterns where we look for valid characters or other custom expression logic. Expected outcome:Allow “\”” as a valid syntax to recognise string literals in custom expressions.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.