# mulesoft Anypoint Code Builder - Full Documentation
---
product: Anypoint Code Builder
version: master
---
# Add a Condition to Your Flow Logic
> For the full documentation index, see: https://docs.mulesoft.com/llms.txt
In this section of the tutorial, you learn how to add a condition to your flow to send an email to
the regional leader if the Salesforce case is escalated, otherwise your Mule application sends a
message to Slack.
## Before You Begin
Complete these procedures:
1. [Integrate Salesforce Data into Slack and Email Notifications](https://docs.mulesoft.com/anypoint-code-builder/tut-slack-create-escalation-api).
2. [Create a Configuration File for Slack and Salesforce](https://docs.mulesoft.com/anypoint-code-builder/tut-slack-create-config-files-sfdc) and
configure your Salesforce integration.
3. [Extract Payload Information to Variables](https://docs.mulesoft.com/anypoint-code-builder/tut-slack-extract-payload-information).
## Define the Behavior for When the Case Is Escalated
Use a Choice router to define behaviors based on specific conditions. In this case, choose to send
an email if the case is escalated.
1. In Anypoint Code Builder, open your `new-case-salesforce.xml` file.
2. Click the  (**Add component**) icon for the Logger component:

3. Type `choice` and select **Choice** under **Flow Control**:
4. Add the `
| 1 | The canvas provides space for a visual representation of your Mule flows or subflows. |
| 2 | The code editor displays the configuration file for your Mule application. |
| Control Plane | Platform URL | Description |
|---|---|---|
US Cloud | Non-EU region host. MuleSoft hosts this control plane within data centers in the United States. | |
EU Cloud | EU-compliant host. MuleSoft hosts this control plane within EU (Frankfurt) data centers. | |
Canada Cloud | MuleSoft hosts this control plane within Canada (North America) data centers. | |
Japan Cloud | MuleSoft hosts this control plane within Japan (APAC) data centers. | |
India Cloud | MuleSoft hosts this control plane within India (APAC) data centers. | |
Australia Cloud | MuleSoft hosts this control plane within Australia (APAC) data centers. | |
United Kingdom Cloud | MuleSoft hosts this control plane within United Kingdom (Europe) data centers. |
| Issue Resolution | ID |
|---|---|
Global Elements now shows required external libraries as expected when those libraries are defined on the connector configuration, such as Spring Config. | W-24612980 |
Anypoint Code Builder updates its OpenJDKs. | W-24630068 |
| Issue Resolution | ID |
|---|---|
MUnit tests now resolve BOM-managed dependency versions correctly when run from the Anypoint Code Builder UI. | W-23448108 |
The Transformation Builder now preserves namespaces when mapping input for services that expect XML. | W-23768550 |
The Transformation Builder now handles several mapping edge cases correctly. | W-23768451 |
Anypoint Code Builder no longer retries Mule framework instance creation repeatedly when a security key is invalid. | W-23864352 |
The debugger now visually indicates a pause after the Publish operation when using VM Pub/Sub. | W-23959396 |
FIPS configuration now references the generated | W-24176669 |
FIPS setup now applies the trust store password alongside a custom | W-24176694 |
Anypoint Code Builder now keeps the Mule module metadata version and | W-24192883 |
AccessDeniedException errors no longer recur in the logs on Windows. | W-24207276 |
Secure properties connections now resolve reliably instead of intermittently reporting an unknown connection type. | W-24220432 |
Anypoint Code Builder no longer deletes the shared JDK that the platform JVM is running on. | W-24236209 |
Canvas component icons now render correctly instead of showing as Unknown when connector types resolve after the first render. | W-24280838 |
Code search results now open directly in Code View. | W-24278214 |
The Error Type list is now contextual and no longer shows every error type. | W-24335809 |
Anypoint Code Builder desktop workspace settings no longer allow arbitrary JVM arguments that could lead to command execution. | W-24408390 |
Export Project now uses the current project’s name and saves the JAR to the selected folder. | W-24455874 |
| Issue Resolution | ID |
|---|---|
The Add Component (+) button now appears on hover in the descriptive UI as expected. | W-23437230 |
Bundled connectors now load reliably on startup and are no longer skipped due to a stale interrupt flag. | W-24014499 |
The design service now works as expected for projects using JDK 17 with Mule runtime 4.6.x. | W-24079635 |
The canvas now renders components correctly when the dynamic tooling cache file is truncated, instead of showing every component as Unknown. | W-24154114 |
FIPS trust store setup now succeeds with BCFKS source keystores when a custom Cacerts path is configured. | W-24152130 |
Loading the bundled connector cache no longer causes out-of-memory errors on low-resource machines. | W-24117873 |
| Issue Resolution | ID |
|---|---|
Error handlers scaffolded from an API specification now map the Error Type correctly. | W-19987815 |
Running a Mule application on Windows no longer requires administrator permission. | W-23172858 |
The canvas now loads as expected when the | W-23846800 |
MCP server network requests now succeed when a proxy is configured. | W-23853401 |
The debugger’s Step Over action now pauses at the next step when Save & Hot Deploy is used. | W-23959338 |
| Issue Resolution | ID |
|---|---|
Canceling the login process no longer displays an unexpected error. | W-20636555 |
The Problems tab no longer shows incorrect validation warnings for global configuration. | W-21322966 |
Opening a project no longer overwrites the | W-23357940 |
The Re-scaffold this local API command is now available when you set up a multi-root workspace manually as expected. | W-23493499 |
The FIPS custom | W-23517641 |
Implement This Local API no longer fails intermittently on Windows with a | W-23546215 |
The IDE no longer rewrites | W-23604327 |
| Issue Resolution | ID |
|---|---|
Runtime default arguments now parse correctly when you configure application run settings. | W-23122012 |
The Transformation Builder component now appears with a consistent display name across the UI as expected. | W-22775707 |
The Add Component button now behaves consistently when you add components to your flow. | W-22293870 |
Autocomplete now supports partial text matches so you can find items faster while typing. | W-22454656 |
API spec projects now appear correctly in the Project and Project Dependencies panels. | W-22715444 |
XML debugger launch configurations now accept the | W-23122632 |
| Issue Resolution | ID |
|---|---|
Mule language server operations now complete reliably without timing out during normal workflows. | W-23049419 |
MuleSoft Vibes requests now route through the proxy correctly. | W-23056251 |
The metadata tree now stays expanded when you open Transformation Builder with custom metadata. | W-23061578 |
Go To Flow now opens the referenced flow as expected. | W-23090107 |
Debugging now opens dependency flows referenced by | W-23128325 |
Skill auto-update failures no longer display an error toast in the IDE. | W-23148357 |
Opening Mule projects on Windows now handles lowercase drive-letter paths correctly during Maven validation. | W-21968540 |
Uncommenting a component that Studio disabled now preserves valid Mule code. | W-22708555 |
The canvas now loads as expected when dependency resolution takes longer than usual. | W-23032933 |
DataWeave scripts now update correctly on Windows for array and nested mapping scenarios. | W-23122433 |
Anypoint Code Builder now connects reliably on slower computers during startup. | W-23232084 |
Projects that use CI-friendly | W-23293643 |
| Issue Resolution | ID |
|---|---|
The configuration panel now loads as expected for connectors that use XML simple-content elements with attributes. | W-23048952 |
Local JSON-RPC socket connections now initialize more reliably on slower or constrained machines. | W-23156379 |
MuleSoft Vibes Anypoint Platform tools now fetch user profiles correctly in the India region when listing applications. | W-23008805 |
Language server requests now continue reliably in slower environments without timing out prematurely during startup. | W-23049419 |
Platform shutdown now handles failed JSON-RPC initialization without additional NullPointerException errors. | W-23049504 |
Custom connectors that define union-typed object parameters now load correctly. | W-22863083 |
| Issue Resolution | ID |
|---|---|
Transformation Builder source metadata now remains visible after mapping operations. | W-22767859 |
Implicit DataWeave variables, such as | W-20610661 |
Auto-discovery now adds the required namespace information automatically. | W-22158386 |
Expression Builder now keeps the cursor position stable so functions insert in the expected location. | W-22154279 |
Namespace additions now apply correctly when editing configurations. | W-22941217 |
Mule runtime downloads from the CLI now complete successfully. | W-22432886 |
Mule runtime download authentication now works correctly in non-production environments. | W-22434986 |
Path handling on Windows now uses consistent separators during URI comparisons. | W-22770705 |
| Issue Resolution | ID |
|---|---|
MCP tools now display correctly across supported IDEs. The connectivity MCP server can appear without registered tools in this release, which is the expected behavior. | W-22854860 |
| Issue Resolution | ID |
|---|---|
Anypoint Code Builder no longer shows duplicate or triplicate items when selecting a project for testing. | W-22565928 |
| Issue Resolution | ID |
|---|---|
The debugger now focuses on the correct file as expected when debugging multiple files simultaneously. | W-20493459 |
Sample data specified in custom metadata examples now loads correctly in the transformation window. | W-21314835 |
Sample data displayed in Expression Builder now matches the persisted sample data as expected. | W-21319134 |
Type propagation now resolves correctly without unexpected failure errors. | W-21485471 |
The debugger now displays Mule Message component values correctly for non-Java data types. | W-21707026 |
Copying JSON from a Mule event in debug mode now works as expected without errors. | W-21707258 |
Type propagation no longer fails when component location returns null values. | W-21735935 |
Variable value updates in the debugger now work as expected during debugging sessions. | W-21936302 |
Error breakpoint exception messages now provide clearer and more actionable information. | W-21957772 |
Breakpoint icons on the canvas now correctly display their muted state. | W-21986288 |
Signing in now works as expected for all users. | W-22000712 |
Document identifiers now propagate correctly across all batch steps in the Batch Processing connector. | W-22002465 |
The Go To Flow navigation feature no longer has intermittent failures. | W-22043908 |
Error objects are now visible in the VARIABLES panel when debugging inside error handler scopes. | W-22099074 |
Mapping icons now work correctly when variables are present in scripts. | W-22100547 |
MuleSoft Vibes no longer shows ValidationException errors for large prompts or PII context window connection errors. | W-22107257 |
MuleSoft Vibes MCP server connections now succeed for servers that don’t support resources or prompts. | W-22116159 |
The MimeType attributes no longer incorrectly show expression mode as supported. | W-22164971 |
Project artifact IDs can now be directly inherited in parent POMs. | W-22166146 |
The undo command now executes on the first invocation instead of requiring two attempts. | W-22170160 |
The debugger can now introspect | W-22177315 |
Token refresh no longer enters an infinite loop due to | W-22251798 |
The Apply button in the HTTP Listener Global Element configuration now works as expected. | W-22321659 |
The debugger now processes files within nested folders when debugging as expected. | W-22349447 |
| Issue Resolution | ID |
|---|---|
Applying policies with required schema properties that have default values in Agent Networks no longer causes failures. | W-22170170 |
| Issue Resolution | ID |
|---|---|
Enum option lists now appear as expected inside arrays in the configuration UI. | W-20031362 |
Publishing a project to Anypoint Exchange no longer creates an example project unexpectedly. | W-20969183 |
Opening a project no longer takes more time than expected to load XML. | W-21154541 |
Opening a project or XML file again on Windows no longer takes an excessive amount of time. | W-21239937 |
Importing a project without sources no longer produces poor error handling. | W-21284401 |
Anypoint Code Builder AI no longer suggests an outdated Salesforce connector version. | W-21290906 |
The Transform Message component now shows the output tree for an inner field as expected. | W-21309692 |
Drag-and-drop mapping now works as expected for nested objects in flat file formats. | W-21310967 |
Metadata validation errors now work as expected for JMS and AS2 elements with Mule runtime 4.11.0. | W-21314344 |
DataWeave data preview works as expected on failure and shows log output. | W-21324741 |
The editor and workspace no longer show an unsaved file warning after saving all changes. | W-21327302 |
Importing a new API from Anypoint Exchange from the command palette no longer requires a reload to show changes. | W-21341100 |
Opening a file in a non-Mule project no longer raises nested project errors. | W-21341353 |
Field concatenation no longer fails across arrays and different sources in DataWeave. | W-21346401 |
Breakpoints in a source now stop execution as expected. | W-21352232 |
Sample generation no longer fails after changing custom metadata for the first time in the transformation window. | W-21421249 |
Progressive mapping now extends existing mappings as expected instead of replacing them. | W-21462334 |
The factory now handles the object-store-caching-strategy component as expected. | W-21467904 |
Large log files no longer slow down error logging. | W-21469432 |
The Mule::p function reference now resolves as expected. | W-21472817 |
Incorrect underline placement for DataWeave expressions in set-variable XML is fixed. | W-21473016 |
Verifying a test connection no longer randomly breaks. | W-21473880 |
A stack overflow in | W-21485285 |
DataWeave editor no longer shows inconsistent counts of errors and warnings on the Problems tab. | W-21530956 |
The resolution of the | W-21533179 |
Embedded documents now regenerate in DataWeave as expected. | W-21549247 |
The message reference now resolves in DataWeave as expected. | W-21550252 |
A StatusLogger format or conversion error in the design service is fixed. | W-21552602 |
Missing icons for date fields in DataWeave transforms are fixed. | W-21560510 |
Tests that affected reliability of the test suite are now stabilized and working as expected. | W-21575885 |
DataWeave syntax errors are now highlighted in configuration XML as expected. | W-21627864 |
POM.xml now resolves as expected when using a relative path. | W-21629880 |
An unexpected child element error in DefaultContainerProcessor in the DataWeave editor is fixed. | W-21631829 |
MUnit files now resolve in the workspace as expected. | W-21631910 |
Spacing around the Transform Message workspace in the DataWeave UI is tightened. | W-21638610 |
Saving files now persists changes as expected. | W-21642439 |
Clearing search on the Metadata tab now works as expected. | W-21642458 |
The canvas no longer fails to load. | W-21666326 |
Null pointer errors in the DataWeave virtual file system are fixed. | W-21667508 / W-21770880 |
The HTTP port is released as expected after use. | W-21706607 |
The restarts now pick up your latest changes as expected. | W-21706655 |
New components are no longer occasionally inserted inside a nested body instead of after it on the canvas. | W-21707238 |
Error messages now appear in the Mule event view as expected. | W-21707484 |
Intermittent socket timeout errors from Anypoint Exchange search are fixed. | W-21709965 |
A stack overflow in SimpleReferenceType.metadataConstraints caused by a self-referencing variable is fixed. | W-21712344 |
Contained element content now overrides the parent operation’s general content on the canvas as expected. | W-21712983 |
The first multi-selected canvas node (Shift+click) no longer opens the configuration UI unexpectedly. | W-21780098 |
The Project Properties header now shows the project name instead of the path. | W-21804043 |
Mapping editor errors caused by VFS initialization failures are fixed. | W-21809434 |
Corrupted JDK downloads no longer report success. | W-21841815 |
Autocompletion now works as expected in customer projects. | W-21850315 |
The Extract To form now shows the correct project’s file name in the drop-down. | W-21869137 |
The Extract To form now hides non-extractable nodes when multiple nodes are selected. | W-21869146 |
The Extract To form no longer appears for nodes that can’t be extracted. | W-21869157 |
The Extract To form now selects the current file by default as the extraction target. | W-21873522 |
Transform mapping data is no longer overwritten when variables are declared in the header. | W-21886152 |
Signing out of Anypoint Code Builder now works as expected. | W-21892267 |
Creating MUnit tests from a flow now works as expected. | W-21950086 |
Library configuration changes are now saved as expected when a shared library already exists in the POM. | W-21966352 |
Log files no longer use an incorrect file extension. | W-21978917 |
| Issue Resolution | ID |
|---|---|
Opening multiple projects no longer causes errors during the initialization of the embedded DataWeave language server. | W-21618731 |
The file picker for DataWeave transformation configurations now opens as expected on Windows. | W-21651056 |
API governance validations no longer fail and display a "Validation failed: try again later" error message on Windows. | W-21568869 |
| Issue Resolution | ID |
|---|---|
The Open Project tool no longer closes the current workspace when opening a project folder during application generation. | W-21351774 |
Core models for the Mule runtime are now correctly cached. This change prevents the design service from starting unnecessarily and improves startup performance. | W-21354463 |
Workspaces now open correctly when you create an integration project from a template. | W-21414040 |
Integration projects created from a template now correctly include JavaSpecifications in the mule-artifact.json file. | W-21439730 |
Project Properties now correctly reflect the JDK version immediately after it is downloaded. | W-21514611 |
Login now works as expected on VDI machines after a previous logout. | W-21145337 |
Applications now correctly inherit characteristics from the parent pom file. | W-21368450 |
Instantiate a Mule framework instance using plugins without encountering NoSuchMethodException. | W-20922748 |
Project-specific connector operations now display correctly in the canvas without requiring you to reopen the file. | W-21582912 |
| Issue Resolution | ID |
|---|---|
The bundled Mule runtime is no longer copied empty in the Web IDE. | W-21314634 |
Mule projects located outside of the Anypoint Studio workspace folder now import correctly into the Anypoint Code Builder workspace. | W-21294903 |
Fixed an issue where project deployment to CloudHub 2.0 failed because the system looked for an incorrect JAR file name after a successful package operation. | W-21304545 |
The custom metadata UI now loads correctly for projects with paths that contain spaces. | W-21308475 |
| Issue Resolution | ID |
|---|---|
Duplicate runtime arguments from | W-20293482 |
Standalone DataWeave library projects in Anypoint Code Builder now execute correctly across all workspace configurations. | W-20334373 |
Error handling logic now works as expected and provides uniform behavior and messaging consistency across the IDE. | W-20364853 |
Project properties and connection lists now display correctly and are no longer hidden or empty. | W-20531631 |
Mule Maven plugin dependencies now resolve correctly in clean .m2 repositories without manual intervention. | W-20825706 |
Processors can now be added as expected to the beginning of existing components within the Process Record section of a Batch Job component. | W-20926265 |
Components are now placed in the correct location during drag operations on the UI canvas. | W-20926514 |
The Transform Message component content is now visible without the requirement of CDATA tags. | W-21146025 |
Database connection configurations in the global configuration page now update the XML source correctly. | W-21147450 |
Socket timeout exceptions no longer occur when loading connector operators. | W-20201721 |
| Issue Resolution | ID |
|---|---|
The | W-20978630 |
You can now edit nested connections from different XML files as expected. | W-20898437 |
The Exchange search filter is no longer breaking search results. | W-21018002 |
| Issue Resolution | ID |
|---|---|
Fixed an issue where switching between factory configurations in a JMS publish component caused XML corruption. | W-20159060 |
Fixed an issue in the Java module New operation where the error icon remained visible after the Constructor value is successfully configured. The UI now correctly clears the error state after valid configuration data is provided. | W-20117914 |
Fixed an issue in DataWeave Transform where mapping fields from a nested source to a nested target sometimes resulted in incorrect script nesting. The UI now accurately maintains the nested structure and context when multiple fields are mapped to the same target path. | W-20208318 |
Fixed an issue where creating a new API project inside a nested workspace folder prevented the project from opening or being added to the current workspace. Projects now open correctly regardless of their folder depth within the workspace. | W-20212604 |
Drag actions in Transformation Builder no longer occasionally result in a UI error state. | W-20222649 |
Anypoint Code Builder now correctly shows an error message when you open a project located outside the root folder or within the current workspace. | W-20249789 |
The canvas now accurately identifies and displays synthetic routes within connectors. | W-20332947 |
Anypoint Code Builder now displays an error related to project properties when your project fails to initialize correctly. | W-20481957 |
The editor now correctly uses UTF-8 encoding across all platforms to ensure that consistent data is displayed in the Transformation Builder input and output windows. | W-20494670 |
Fixed an issue with MCP tools that took no input arguments. | W-20474172 |
The DataWeave editor no longer becomes slow or unresponsive when working with large transformations, including freezes triggered by auto-save. | W-19966256 |
DataWeave scripts no longer lose their formatting or collapse into a single line when you edit connection configurations or make unrelated project changes. | W-20082580 |
The canvas no longer gets stuck in an infinite loading state. | W-20214677 |
The HTTP Request component no longer reverts header or body values back to | W-20581927 |
DataWeave mappings no longer drop type casting when concatenating expressions. | W-20582971 |
| Issue Resolution | ID |
|---|---|
CLI for Agent Fabric Plugin is updated to the latest version to address reported security vulnerabilities. | W-20573569 |
| Issue Resolution | ID |
|---|---|
The Autodiscovery element no longer appears in the Add Component panel. | W-16891052 |
Users now receive a notification after successful deployment to CloudHub as expected. | W-18079627 |
DataWeave output metadata is now correct in component fields. | W-18553945 |
The canvas now correctly reflects unsaved changes. | W-18657386 |
CloudHub redeployment no longer fails intermittently. | W-18727013 |
The Transformation Builder window for DataWeave no longer shows an error in the input sample on Windows systems. | W-18911593 |
The flow configuration UI attribute for enabling default events is now correctly written in the XML file. | W-19117758 |
The configuration UI no longer shows a default value for data types when no default value exists in the metadata. | W-19175333 |
Errors updating XML no longer occur on the canvas when updating auto closed tags. | W-19211738 |
Editing metadata in the Transform Message component now works correctly if the source is a DataWeave file. | W-19273485 |
The | W-19476167 |
The debugger now correctly pauses in the main flow and sub-flow after using Step into. | W-19547488 |
Toggling between INLINE or Bean mode to None now works correctly in the configuration panel. | W-19623905 |
You can now input text for | W-19637694 |
Validation now shows errors as expected for missing fields in the Database component. | W-19679369 |
The debugger now shows the breakpoint information as expected if Step into is used on a flow reference pointing to a flow in the configuration of a sub-folder. | W-19679780 |
Unauthorized errors no longer occur when the token expires. | W-19971283 |
A2A Connector configurations now appear in version 0.4.0-BETA as expected. | W-20004568 |
If deployment to CloudHub 2.0 fails, the user now gets an error notification. | W-20030018 |
Transformation Builder no longer closes unexpectedly on Windows systems when pressing Ctrl+Backspace. | W-20031151 |
Error messages no longer repeatedly pop up for the same error during dependency resolution. | W-20036183 |
A path traversal vulnerability in MuleSoft MCP Server tools is now fixed. | W-20039005 |
Intermittent corruption of the JDK installation no longer occurs. | W-20052935 |
A server-side template injection vulnerability in MCP flow generation tools is now fixed. | W-20053148 |
The Dev Agent web fetch tool timeout is increased from 10 to 30 seconds to support slow-loading URLs. | W-20084547 |
Expression Builder no longer breaks or displays incorrectly if the DataWeave transformation contains a long script. | W-20086693 |
The configuration UI in the Java module now successfully loads the Method field values. | W-20112957 |
Misleading stack traces from the Design Service logs that appeared when loading custom connectors are removed. | W-20131222 |
The HTTP Listener component now secures the password during TLS setup as expected. | W-20135822 |
The Anypoint Code Builder Integration Extension now uses the correct version of | W-20159499 |
The Anypoint Code Builder Platform Extension version 5.9.7 no longer breaks in Windows systems. | W-20192341 |
The Expression Builder gear icon is now clickable as expected. | W-20203410 |
The Audience field in the MCP tool listener configuration no longer intermittently fails to display. | W-19127724 |
The MCP configuration reference field in the Inference Connector can now be edited as expected. | W-20018055 |
The internal platform jar socket is now restricted to listening on localhost only, mitigating a potential Remote Code Execution (RCE) vulnerability. | W-20194553 |
Object group element attributes now update correctly in the UI, and inconsistent behavior related to empty element deletion in the Transform script field no longer occurs. | W-20244840 |
Custom metadata now shows as expected in the Output column of the mapping window for transform components. | W-20062856 |
SAP Connector test connection no longer fails. | W-19124681 |
The scaffolding process no longer fails when the project ID used for scaffolding doesn’t match the project ID that was created. | W-20201660 |
Projects that are inherited from a Parent POM that use Maven’s CI-friendly version properties no longer incorrectly report that the parent POM can’t be found. | W-20272484 |
The Connectors tab in Project Properties no longer fails to load when an incompatible connector version causes the Mule framework introspection to fail. | W-19284941 |
The code editor of a component is now resizable and shows line numbers. | W-20060203 |
The drag and drop action for simple Transform components no longer breaks the canvas view and flow XML on Windows systems. | W-20439430 |
The MuleSoft Dev Agent stream no longer intermittently throws an incorrect | W-20068043 |
MuleSoft Dev Agent no longer fails due to streaming errors or server timeouts during operations. | W-20023190 |
MuleSoft Dev Agent no longer experiences a five-second delay before making the first API call after being opened. | W-20077965 |
The Map with AI feature in Transformation Builder now correctly displays user access errors when they occur. | W-20276613 |
The Edit Sample Data File icon is no longer disabled in the Map with AI feature in Transformation Builder. Also, the default call when opening the Transform UI is removed, and the UI now shows a message instead of a spinning icon when the GenAI API call fails. | W-20276613 |
Anypoint Code Builder no longer fails to render all configuration parameters, such as the HTTP Requestor parameter, for the RosettaNet Connector in the Configuration UI. | W-20190237 |
Anypoint Code Builder no longer displays an incorrect compatibility error message when a project dependency is missing in the current Exchange environment. | W-19750194 |
The Import global element now recognizes flows defined within the imported plugin as expected. | W-19986168 |
The Visual Designer no longer fails to show and recognize shared configuration components when they’re inherited from a Parent POM. | W-20178132 |
Keyboard shortcuts, such as Command+C and Command+V, now work as expected when selecting and editing text in the DataWeave Editor. | W-20162326 |
| Issue Resolution | ID |
|---|---|
The distributed trace now correctly includes LLM calls for an agent broker. | W-19825674 |
| Issue Resolution | ID |
|---|---|
Anypoint Code Builder Platform Extension no longer fails on Windows systems. | W-20192341 |
| Issue Resolution | ID |
|---|---|
Some dependencies are updated to address reported vulnerabilities. | W-20115973 |
| Issue Resolution | ID |
|---|---|
Anypoint Code Builder now correctly resolves Maven settings and configurations against the settings.xml file and no longer creates a temporary acb_settings.xml file. | W-19128433 |
The canvas now refreshes automatically after updating the runtime version in project properties. | W-19285759 |
Pasting a component after a disabled component no longer breaks the canvas UI or prevents the flow from rendering. | W-19719169 |
The Error Handler configuration now displays all applicable error types based on the components used in the flow as expected. | W-19788055 |
The Agent Fabric flag is now correctly enabled when switching from the Control Plane to EU Cloud in the desktop IDE. | W-19810833 |
The context menu no longer appears for nodes in the read-only Agent Fabric Authoring canvas. | W-19840137 |
The auto approval for tool execution in the Dev Agent chat window now works as expected. | W-19842516 |
Java processes no longer remain active after closing Anypoint Code Builder. | W-19849557 |
The local .m2 repository is now populated correctly at startup. | W-19860834 |
Dev Agent no longer becomes unresponsive. | W-20051611 |
Validation decorators now appear correctly in the canvas after adding a new connector or updating dependencies in the project | W-18741926 |
The Java debug server that started automatically when running Mule apps is now disabled by default to prevent unauthorized access. | W-18968450 |
Anypoint Code Builder now loads the Maven settings.xml file at startup to correctly generate the acb_settings.xml file with the user’s configuration. | W-19128433 |
MUnit configurations defined in the parent | W-19284704 |
The | W-19374653 |
Anypoint Code Builder no longer becomes unresponsive or stuck on the loading screen when adding components to a flow in customer projects. | W-19525162 |
The canvas now opens the correct configuration panel when selecting components. | W-19687980 |
Disabled components can now be copied and pasted successfully without triggering errors during node duplication. | W-19760175 |
DataWeave actions now appear in the correct position within the context menu. | W-19883653 |
Anypoint Code Builder now defaults to the US production environment when the | W-20003674 |
Exchange search now correctly returns the Inference connector when using Mule runtime 4.9.10 or later. | W-20054759 |
The correct message is now displayed when attribute and variable samples are empty in the configuration panel. | W-20057018 |
Error messages related to connector dependencies now include a clickable | W-15813306 |
| Issue Resolution | ID |
|---|---|
Agent brokers now maintain conversation context during multi-turn interactions. | W-19825674 |
Agent brokers now return properly formatted text content in input-required responses instead of empty strings. | W-19880599 |
| Issue Resolution | ID |
|---|---|
Auto-approval for safe commands is now disabled in MuleSoft Dev Agent. Command execution now always requires explicit user approval, unless Execute all commands is enabled, preventing potential prompt injection exploits. | W-19853225 |
Editing VS Code configuration files ( | W-19853255 |
Editing the MCP configuration file ( | W-19853247 |
| Issue Resolution | ID |
|---|---|
Core capabilities in the Design Service, including Test Connection and Run and Debug, function as expected on slow machines. | W-19864902 |
Data streaming issues are fixed now and responses from Model API no longer fail. | W-19845839 |
| Issue Resolution | ID |
|---|---|
When setting up HTTP request headers, the IDE no longer incorrectly adds an empty array symbol #[] in the headers expression section of the flow XML code. | W-19152657 |
The inference connector no longer fails to retrieve and show dynamic data for the value provider field. | W-19084301 |
The IDE now correctly generates the default XML code snippets for nested fields, including arrays, objects, and unions. | W-19144806 |
In the Salesforce Connector, the parameters for the "Salesforce - Query" connector no longer disappear after clicking on it from the "Set variable" connector. | W-18836813 |
The Agent Conductor module now displays correctly. | W-19094498 |
The paths for certain container route types, such as scatter-gather and first successful, no longer overlap with each other. | W-19094528 |
The connection test for the Kafka connector is now working as expected. | W-12553536 |
The XML code is now generated in the correct order in the A2A Connector. | W-19105944 |
The MIME type parameters are shown as expected in the user interface. | W-18106124 |
DataWeave data and functions no longer return empty if adding a new project to an existing workspace. | W-18824864 |
The agent conductor data now loads properly in the user interface. | W-19154866 |
Setting breakpoints on flow control nodes is now working as expected. | W-18838355 |
The debugger tool no longer disappears unexpectedly. | W-19145809 |
The flow name updates as expected if you close the panel right after changing the flow name. | W-19147834 |
The error message | W-18195261 |
The output of a DataWeave mapping for non-transform components is no longer incorrect. | W-18566031 |
The startup error no longer occurs in specific customer project. | W-19337637 |
The output variable of a DataWeave mapping is now correct. | W-18566025 |
Dynamic control data is no longer overridden if you switch nodes. | W-19280291 |
Adding a | W-19404195 |
Validation issues in the XML file are fixed when using the batch component. | W-19136911 |
DataSense resolution errors no longer occur with certain components. | W-19367638 |
Sample data persistence calls for some nodes no longer fail. | W-19145325 |
Debug sessions are no longer killed on slower machines. | W-19183938 |
The | W-19248177 |
Breakpoints set in one file are no longer incorrectly shown in another file’s canvas. | W-19302452 |
DataWeave expressions used within a | W-19336241 |
Custom names for flows and error handlers are now correctly updated in the flow canvas. | W-19121648 |
The error state for connector routes is now displayed correctly. | W-19388454 |
The Export Shareable Jar command on Windows no longer includes unwanted folders. | W-19461974 |
NullPointerException no longer occurs if invoking | W-18727157 |
The Go to Flow command now correctly finds a sub-flow in a second file. | W-19013755 |
The Map and Transform with AI feature is now working as expected. | W-19134821 |
| Issue Resolution | ID |
|---|---|
The platform extension pack is updated to version 5.7.2 to fix a compatibility issue with Intel Mac machines. | W-19359467 |
| Issue Resolution | ID |
|---|---|
When you define a DataWeave multiline expression, code highlighting now works as expected. | W-11492623 |
| Issue Resolution | ID |
|---|---|
DataSense now works as expected when a tag spans multiple lines. | W-12482310 |
DataSense now works as expected when you create a project with Mule runtime version 4.4 and no other runtime versions are downloaded. | W-16117373 |
| Issue Resolution | ID |
|---|---|
A notification now appears after you change the region in the | W-13184670 |
XML formatting is no longer corrupted when you add or update a connection configuration, or when you use the Format Document menu option. | W-16850099 |
Avro suggestions now appear when you define an Avro schema and declare a record inside a record property. | W-16814386 |
Correct suggestions now display for inline Avro schema payloads. The issue occurred inside maps that contained arrays. | W-16809972 |
Correct suggestions now display for values in fields of type map. | W-16814887 |
Syntax errors in DataWeave expressions in projects imported from Studio no longer occur. Anypoint Code Builder now automatically fetches the required dependencies when the project loads. | W-14037343 |
When you use a proxy, the Mule runtime options now appear in the UI form for creating a new integration project. You can click Create Project to create the project. | None |
| Issue Resolution | ID |
|---|---|
Anypoint Connector for Zoom (Zoom Connector) component configuration view now correctly displays relevant options. | W-17148078 |
Adding a transform connector no longer incorrectly inserts Previous: New: | W-17199037 |
| Issue Resolution | ID |
|---|---|
JMS Connector connections can now be validated with the Test Connection button. | W-16983063 |
| Issue Resolution | ID |
|---|---|
The Governance Rulesets and Governance Results panels now update as expected when more than one project folder is open in a VS Code workspace. | W-15677742 |
After iteratively scaffolding an API spec into an implementation project, the Data and Functions tabs in the expression builder no longer display the "loading" animation. | W-15828343 |
| Issue Resolution | ID |
|---|---|
The Governance Rulesets and Governance Results now update as expected when more than one folder is open in a VS Code workspace. | W-15677742 |
The Preview tab in the expression builder UI no longer produces an ![]() | W-15906886 |
| Issue Resolution | ID |
|---|---|
You no longer have to update the runtime version when deploying a Mule application with Mule runtime version 4.6 or 4.7. This issue occurred when deploying to CloudHub from the IDE. | W-15902597 |
A tooling client error no longer appears after creating a Java class, adding a New operation from the Java Module to a flow, selecting the class, and then refreshing Constructor. | W-15877062 |
The XML now reflects changes after configuring the Send operation of Anypoint Connector for Email (Email Connector) from the component configuration panel. | W-15906937 |
After changing the class setting in the Class field, you no longer have to refresh the Method field before selecting from the list of methods in the class. This issue occurred when updating the Invoke, Invoke Static, or New operations from the Java Module in the configuration panel. | W-15111695 |
To import DataWeave libraries when using functions outside of the Core library, you no longer have to use the Quick Fix option. The DataWeave libraries are now imported automatically. | W-15673127 |
The feedback button for the open beta of AsyncAPI support to implement event-driven architecture now consistently appears in the canvas. | W-16084084 |
| Description | Issue |
|---|---|
When you open the IDE, the exception | W-14268344 |
The issue | W-14254505 |
After scaffolding an API spec into an interface within an implementation project, the IDE no longer produces the syntax validation issue | W-14243529 |
A test connection no longer fails with the error | W-14252415 |
| Application/Service | Version |
|---|---|
Anypoint Platform | US Cloud, EU Cloud, and these Anypoint Platform control plane regions: Australia Cloud, Canada Cloud, Japan Cloud, and United Kingdom Cloud. Anypoint Code Builder also connects to Anypoint Platform Private Cloud Edition (PCE). (Not supported by MuleSoft Government Cloud) |
API Governance | Validations for REST API and AsyncAPI specs |
CloudHub | 1.0 and 2.0 (for deployments to the Sandbox environment) |
DataWeave | Bundled with Mule runtime engine (built-in) |
Java | Multiple versions supported. See supported Mule and Java versions. |
Maven | 3.9.4 (built-in) |
Mule runtime engine | Multiple versions supported. See supported Mule and Java versions. |
Operating system | Windows 11, Windows 10, macOS Intel and ARM (M1 or M2) |
Visual Studio Code | Minimum version: 1.99.3
|
Web browser |
| Mule runtime version | Java version |
|---|---|
Mule 4.13.x Edge | Java 17 |
Mule 4.12.x Edge | Java 17 |
Mule 4.11.x Edge | Java 17 |
Mule 4.10.x Edge | Java 17 |
Mule 4.9.x LTS | Java 17 |
Mule 4.8 Edge | Java 11, Java 17 |
Mule 4.6.x LTS | Java 11, Java 17 |
Mule 4.4 | Java 11 |
| Limitation | ID |
|---|---|
When the Anypoint Code Builder launches for the first time, a corrupted dependency ( | W-14047707 |
Previously configured sample data is overridden when selecting a component in the canvas UI. | W-16270847 |
There is no command to delete dependencies related to assets that you import from Exchange to an API design project. | W-13822075 |
Moving the editors while searching for components from the UI canvas causes your search to be canceled. | W-13172200 |
Using autocompletion to create a parameter for the | W-12444650 |
Autocompletion does not work properly when more than one connector has the same prefix. | W-10667510 |
Anypoint Connector for Apache Kafka (Apache Kafka Connector) does not display the Test Connection option. | |
DataSense doesn’t identify functions provided by a connector. | W-12448776 |
DataSense doesn’t reflect array structures at the payload’s root level. | W-12263085 |
DataWeave doesn’t recognize the larger context to which samples belong. So DataWeave requests sample data for all scripts within a single component. | None |
DataWeave validations to produce | W-11750473 |
Updates to metadata in one component don’t trigger metadata validation in subsequent components. This issue causes Anypoint Code Builder to display potential issues in the subsequent components. | W-12215165 |
The Batch Job processor is not supported by the UI canvas or through auto-complete in the configuration XML. | None |
When scaffolding a GraphQL or AsyncAPI specification on Windows, an empty Mule configuration file with the name of the project is created in addition to the | W-15757808 |
When source validation is enabled, AsyncAPI messages are invalid if | W-16663560 |
When source validation is disabled, AsyncAPI messages are sent downstream without transforming | W-16663585 |
Source validation is not working with the Salesforce platform events | W-16756836 |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Async (default) |
| Editable name that appears in the configuration XML file only. |
Name or Display Name |
| Editable name for the component that appears in the canvas. |
Max concurrency |
| Sets the maximum number of concurrent messages that the scope can process. By default, the container thread pool determines the maximum number of threads to use to optimize the performance when processing messages. When the scope is processing the maximum number of concurrent messages, it cannot receive additional requests. |
| Property | Type | Default | Description |
|---|---|---|---|
| String | Auto-generated | Display name for the component in the canvas |
| String | Auto-generated | Unique identifier for the component |
| Integer | 50 | Number of records per block to process concurrently within the Process Records phase |
| Property | Type | Default | Description |
|---|---|---|---|
doc:name | String | Auto-generated | Display name in the canvas |
doc:id | String | Auto-generated | Unique identifier for the component |
| Property | Type | Default | Description |
|---|---|---|---|
doc:name | String | Auto-generated | Display name in the UI |
doc:id | String | Auto-generated | Unique identifier for the component |
aggregatorSize | Integer | 100 | Number of records to group before applying aggregation logic |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Cache (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Cachingstrategy ref |
| Name of a caching strategy to reference. |
Filter expression |
| DataWeave expression for excluding specific payloads from the Cache scope flow. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
N/A |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
N/A |
| Optional. A DataWeave expression to generate the key, for example, |
N/A |
| Indicates whether Mule syncs access to a cache. Accepted values are |
| 1 | The expression attribute has the condition to evaluate. |
| 2 | Add any number of message processors to execute if expression evaluates to true. |
| 3 | Add any number of message processors to execute if none of the conditions evaluates to true. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Choice (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
| Child Element | Description |
|---|---|
| Child element for specifying a condition to meet before running embedded components to process the Mule event. One or more |
| Child element that runs if no conditions set within any |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Expression |
| DataWeave expression used to evaluate input. If the expression evaluates to |
| 1 | Set the channel field to the channel name that you set earlier in the tutorial. |
| 1 | The canvas provides space for a visual representation of your Mule flows or subflows. |
| 2 | The code editor displays the configuration file for your Mule application. |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the API spec title in Exchange, the name of the spec file, and the name of the project’s root directory. For example, if the project name is OAS Example, the spec file name is To reuse an existing project name, you must delete the project that is already using the name first. See Deleting API Specs and Fragments. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
API Type | The type of API spec to create. Available options are REST API and AsyncAPI. Select REST API to use the example in this procedure. |
API Specification Language | Select OAS 3.0 (YAML) to use the example in this procedure. |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the API spec title in Exchange, as the name of the spec file, and as the name of the project’s root directory. To reuse an existing project name, you must delete the project that is already using the name first. See Deleting API Specs and Fragments. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
API Type | REST API |
API Specification Language | RAML 1.0 |
| 1 | Click a method to view details. |
| 2 | Display the console menu. |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the AsyncAPI spec title in Exchange, the name of the spec file, and the name of the project’s root directory. For example, if the project name is AsyncAPI Example, the spec file name is To reuse an existing project name, you must delete the project that is already using the name first. See Deleting API Specs and Fragments. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
API Type | The type of API spec to create. Available options are REST API and AsyncAPI. Select AsyncAPI to use the example in this procedure. |
API Specification Language | Select AsyncAPI 2.6 (YAML) to use the example in this procedure. |
| 1 | Click a channel to view details. |
| 2 | Display the console menu. |
| 1 | AsyncAPI Identifies the API model as AsyncAPI and specifies the title and version of the API spec |
| 2 | Servers Defines message brokers that determine the connectors to use (indirectly) when publishing events or subscribing to events through operations in the AsyncAPI module:
|
| 3 | Channels Defines the bindings:
|
| 4 | Components Defines the structure of messages for the different types of orders, which include |
| Avro | JSON | RAML | |
|---|---|---|---|
AsyncAPI | Yes | Yes | No |
GraphQL | No | No | Yes |
OData | No | No | Yes |
REST | No | Yes | Yes |
SOAP | No | No | Yes |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your fragment. This name is used as the fragment title in Exchange and name of the fragment file. For example, if the project name is Example OAS Fragment, the specification file name is To reuse an existing project name, you must delete the project that is already using the name first. See Deleting API Specs and Fragments. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
API Specification Language | Select OAS 3.0 (YAML) to use the example in this procedure. |
<Language> Syntax | The syntax for the selected language. Select YAML to use the example in this procedure. |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the title and name of the integration project file. For example, if the project name is "OAS Integration," the project file name is |
Project Location | Your home directory or another directory you create. Click Browse to select a different directory for the integration. Don’t create the project within another project directory. |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the title and name of the integration specification file. For example, if the project name is "My Integration", the name of the folder for the integration project is |
Project Location | Your home directory or another directory you create. Click Browse to select a directory for the integration if you don’t want to use the prepopulated location. |
| Name | Expression / Value |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
| Attribute Name | Attribute XML | Description |
|---|---|---|
Custom event (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Event name |
| Name of the event to track. |
Inherits |
| N/A |
Meta data |
| N/A |
Target Variable |
| Name of the variable in which you want to store message data. Names can only include numbers, characters, and underscores. For example, hyphens are not allowed in the name. See Enrich Data with Target Variables in the Mule documentation. |
Target Value |
| Value of the data to store in the target variable. By default, the value is the message payload (payload). The field accepts any value that a variable accepts: any supported data type, DataWeave expressions, the keywords |
| Attribute Name | Attribute XML | Description |
|---|---|---|
N/A |
| Name of the KPI. |
N/A |
| Value of the KPI. |
| Field Name | Field Value |
|---|---|
Host |
|
Port |
|
| 1 | Skips <flow-ref/> logic |
| 2 | Reaches <logger/> named Logger1 |
| 1 | Enters <flow-ref/> to follow logic to myNewFlow |
| 2 | Reaches Logger2 in next flow, myNewFlow |
| 3 | Returns to flow flow1 to reach Logger1 |
| Unencrypted Values for All Keys | Encrypted Values of uname and pw Keys |
|---|---|
| |
Unencrypted Values of workingDir and host Keys | Encrypted Values of uname and pw Keys |
|---|---|
dev.properties.yaml content: | dev.secure.yaml content: |
Unencrypted Values of workingDir and host Keys | Encrypted Values of uname and pw Keys |
|---|---|
dev.properties content: | dev.secure.properties content: |
| Field | Example Value | What It Controls |
|---|---|---|
Name | Secure_Properties_Config | Element name referenced internally |
File | $site.secure.properties | Which encrypted file to load (resolves per environment) |
Key | ${encryption.key} | The decryption key placeholder (resolved from system property) |
Algorithm | AES | Encryption algorithm (AES, Blowfish, DES, DESede, RC2) |
Mode | CBC | Cipher mode (CBC, CFB, ECB, OFB) |
| 1 | Add the "properties" key. |
| 2 | Add an object that specifies the value of the ${env} prefix to your properties file, such as sandbox. |
| Task | Command / Location |
|---|---|
Encrypt a value |
|
Decrypt a value |
|
Reference encrypted property in XML |
|
Reference non-encrypted property in XML |
|
Secure properties config element |
|
Pass encryption key locally | Add |
Pass encryption key in CloudHub | Add to Properties tab in Runtime Manager: |
Switch environment | Pass |
Hide encryption key in CloudHub | Add encryption key name to |
| Field Name | Field Value |
|---|---|
applicationName | Enter a unique name for your deployment (for example, |
runtime | Confirm the Mule runtime version (the latest compatible version is selected by default). |
replicas |
|
replicaSize |
|
deploymentModel | Leave the default value: |
| Property | Description | Host |
|---|---|---|
| Provides the Mule runtime version used by the project. | CloudHub or CloudHub 2.0 |
| Sets the worker memory relative to a single worker or a number of available workers. The default is | CloudHub |
| Sets the replica specific amount of memory capacity and processing power. The default value is | CloudHub 2.0 |
| Provides the hyphenated, lowercase name of the Mule application. | CloudHub or CloudHub 2.0 |
| Sets the number of Mule runtime instances for running this Mule application. The default is | CloudHub |
| Sets dedicated instances of Mule runtime engine for running this Mule application. The default is | CloudHub |
| Indicates whether to start the application automatically after the deployment process completes. The default value is | CloudHub or CloudHub 2.0 |
| Indicates the model by which you want the replicas of your application to be updated or redeployed. The default value is | CloudHub 2.0 |
| Indicates whether Object Store v2 is enabled for this application. The default value is | CloudHub or CloudHub 2.0 |
| Property | Description | Host |
|---|---|---|
| Provides the Mule runtime version used by the project. | CloudHub or CloudHub 2.0 |
| Sets the worker memory relative to a single worker or a number of available workers. The default is | CloudHub |
| Sets the replica specific amount of memory capacity and processing power. The default value is | CloudHub 2.0 |
| Provides the hyphenated, lowercase name of the Mule application. | CloudHub or CloudHub 2.0 |
| Sets the number of Mule runtime instances for running this Mule application. The default is | CloudHub |
| Sets dedicated instances of Mule runtime engine for running this Mule application. The default is | CloudHub |
| Indicates whether to start the application automatically after the deployment process completes. The default value is | CloudHub or CloudHub 2.0 |
| Indicates the model by which you want the replicas of your application to be updated or redeployed. The default value is | CloudHub 2.0 |
| Indicates whether Object Store v2 is enabled for this application. The default value is | CloudHub or CloudHub 2.0 |
| Field Name | Field Value |
|---|---|
Enable this API for Topics and Actions | Select this checkbox to add the applicable agent topic metadata and apply centralized governance rulesets to the project. See Enabling an API Project for Topics and Agent Actions for more information. |
Project Name |
|
Project Location | Your home directory is selected by default. This is the root folder of your project, which acts as your workspace. Don’t select a different project directory for this API spec. See Adding Folders to Your Home Directory for more information. |
API Type | REST API |
API Specification Language | OAS 3.0 (YAML) |
Business Group | Select the business group to use for this project. |
| Field Name | Field Value |
|---|---|
Topic Label | American Flights API |
Classification Description | Use the API description. |
Scope | Your job is only to book, update, or retrieve flight information. |
Instruction | If a user asks to retrieve flight details, use the get flight operation to retrieve information using the booking ID. |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the API spec title in Exchange, the name of the spec file, and the name of the project’s root directory. To reuse an existing project name, you must delete the project that is already using the name first. See Deleting API Specs and Fragments. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
API Type | The type of API spec to create. Select gRPC API to create a gRPC project. |
API Specification Language | The language for the API specification. Select Protobuf 3 for gRPC API projects. |
| 1 | You create a message based on your use case and send it to MuleSoft Vibes. |
| 2 | To minimize inaccurate responses, messages are grounded with MuleSoft proprietary data and user context. |
| 3 | To ensure safe data transfer to external LLMs, the message is sent via a secure gateway. |
| 4 | All data remains within Salesforce-managed boundaries. |
| 5 | After the LLM generates a response, the content is returned through the secure gateway. |
| 6 | MuleSoft validates the generated output to ensure compatibility with the MuleSoft ecosystem. |
| 7 | Anypoint Code Builder logs the interaction for monitoring before surfacing the validated response. |
| 1 | Activity Bar: Use VS Code Activity Bar items as you work on your projects. Mouse over the items to find their names:
In addition to Anypoint Code Builder (MuleSoft icon), commonly used items in the Activity Bar include:
|
| 2 | Anypoint Code Builder (MuleSoft icon): Open the Anypoint Code Builder panel to start a project. Follow the tutorials to get started with API specification design, implementation, and integration development in Anypoint Code Builder. |
| 3 | Create: Start an API specification, implementation, or integration project. |
| 4 | Settings: Set Anypoint Code Builder configurations, including the US or EU cloud. Select the cloud where your Anypoint Platform user account resides. |
| 1 | Explorer: Open a workspace for your project. |
| 2 | Editors: Develop your project in the canvas and configuration XML files. Configuration XML files support auto-completion. |
| 3 | Status Bar: Check for your user name to learn if you are logged in to Anypoint Platform. |
| 4 | Output Panel: As your projects run in Anypoint Code Builder, view output and logs from Mule DX Server or Mule DX Server: Scaffolding. Open the built-in command terminal. View problems and ports. See Developing Integrations and Implementing APIs for more detail. |
| 1 | Editor: Configure API specification project files. This editor supports auto-completion. |
| 2 | API Console: Test endpoints on your examples. See Designing API Specs and Fragments for more detail. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Dynamic evaluate (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Expression |
| Expression that selects a DataWeave script that Mule executes, for example, |
Additional Bindings |
| N/A |
Target Variable |
| Name of the variable in which you want to store message data. Names can only include numbers, characters, and underscores. For example, hyphens are not allowed in the name. See Enrich Data with Target Variables in the Mule documentation. |
Target Value |
| Value of the data to store in the target variable. By default, the value is the message payload (payload). The field accepts any value that a variable accepts: any supported data type, DataWeave expressions, the keywords |
| Child Element | Description |
|---|---|
| Key-value pairs that serve as parameters that the DataWeave script can evaluate, for example, |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the API spec title in Exchange, the name of the spec file, and the name of the project’s root directory. For example, if the project name is Agent Example, the spec file name is To reuse an existing project name, you must delete the project that is already using the name first. See Deleting API Specs and Fragments. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
API Type | Select REST API. |
API Specification Language | Select OAS 3.0 (YAML), OAS 3.0 (JSON), OAS 3.1 (YAML), or OAS 3.1 (JSON). Only OAS 3.0 and 3.1 are supported for topics and actions. |
Business Group | Select the business group the API will belong to. The business group is required for API governance and syncing centralized rulesets. When you publish your API spec to Exchange from Anypoint Code Builder, it requests the name of the business group. |
| Field Name | Description | Example |
|---|---|---|
Topic Label | Enter a unique name for the topic. | Sales Agent |
Classification Description | Enter one to three plain text sentences. An agent uses this description to determine when to use a topic in a conversation. When a user enters a message, the agent identifies the user’s intent, compares it to the topic name and classification description, and uses the best matching topic. | These are some examples of classification descriptions: Answers questions about business policies, procedures, or products. Interacts with the user to draft or revise content. Answers questions related to a user’s order status, return status, or making a return. |
Scope | The scope defines exactly what the agent can and can’t do for a given topic. The scope is most effective when it narrowly defines the agent’s job for a given topic as it helps limit the agent so it doesn’t try to respond outside the desired job or scope you want the topic to include. | These are some examples of scope descriptions: Your job is to only handle tasks related to setting a closing strategy to close deals. This may include answering product-related pricing questions, briefing users on customer sentiment based on conversations, suggesting a close plan to help users close deals, or giving advice based on video and voice calls. Your job is to only educate the user with their reservation questions and only handle changing upcoming or existing reservations by resending the reservation confirmation email. You aren’t able to make new reservations. |
Instructions | Plain text instructions help an agent make decisions about how to use the actions in a topic for different use cases. Each instruction is a single topic-specific guideline, usually phrased as “Always…”, “Never…”, “If x, then y…”, or “As a first step,…”. Instructions are nondeterministic, so they shouldn’t include sensitive or deterministic business rules. | These are some examples of instructions: Always clarify what type of mobile device (iOS or Android) before using the Answer Questions with Knowledge function to retrieve troubleshooting information. Never ask the user for an ID. Instead, use the name or ask for the name of the record to use IdentifyRecordByName to get the ID to call other actions. If a user asks about the status of their order or order confirmation, ask if they have their order number or their email. If a user doesn’t have their email or order number, ask if they’d like to escalate to an agent or create a case. |
| Extension | Description | Default Value |
|---|---|---|
x-sfdc/agent/action/publishAsAgentAction | Required. Set this attribute to | false |
x-sfdc/privacy/isPii | Optional. Set this attribute to | false |
x-sfdc/agent/action/isUserInput | Required. Set this attribute to | false |
x-sfdc/agent/action/isDisplayable | Required. Set this attribute to | false |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Error handler (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
When |
| A matching expression that defines the condition to trigger the execution of this on-error strategy. The expression must evaluate to a Boolean value ( |
Type |
| A comma-separated list of Mule error types that defines the errors this on-error strategy handles. |
Log exception |
| Specifies whether to log the error at level |
Enable notifications |
| Specifies if this strategy triggers a notification of type |
| Field Name | Field Value |
|---|---|
Asset Name | Name that Exchange uses to identify the published project. |
Version | Version number to display in the Version section of the page that Exchange creates for the asset. Use semantic versioning ( If you are republishing the asset, Anypoint Code Builder automatically populates the Version field. You can change this number, but the republish fails if you use a version number that has already been used to publish a stable version of this asset. |
Description | Optional description of your asset. |
Business Group | Business unit in Anypoint Platform that the asset belongs to. |
Group ID | ID of the business unit in Anypoint Platform that the asset belongs to. |
Artifact ID | Unique ID that Exchange uses to identify the published asset. Use the default value unless a published asset has the same ID. |
| Field Name | Field Value |
|---|---|
Tags | Descriptors that Exchange uses to search for assets. |
Categories | Category that was previously added to Exchange. Refer to the Managing Categories documentation to learn how to create Categories for your organization. |
| 1 | casestatus retrieves the Salesforce case status: New, Working, or Escalated. |
| 2 | casenumber retrieves the case number created by Salesforce. |
| 3 | Set the slackchannel to the channel name that you set earlier in the tutorial. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
First successful (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
| Child Element | Description |
|---|---|
| Accepts one or more components as child elements. Multiple |
| 1 | The first route executes and fails because it tries to read a file that does not exist. |
| 2 | The second route fails because it tries to access a variable that does not exist. |
| 3 | The third route executes successfully and sets variable successfulRoute with value 3. |
| 4 | The fourth route is not executed because the First Successful router stops executing routes after one of them completes successfully. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
name1 (default) |
| Editable name for the component to display in the canvas. |
Initial state |
| Indicates whether the flow is active when you start the application. Accepted values are If you set the initial state to Defaults to |
Max concurrency |
| Sets the maximum number of concurrent messages that the flow can process. If not set, the container thread pool determines the maximum number of threads the flow can use to optimize the performance when processing messages. While the flow is processing the maximum number of concurrent messages, it cannot receive additional requests. Set See Back-pressure for details about the behavior of Mule runtime after it reaches the maximum concurrency value. |
N/A |
| When set to |
N/A |
| Specifies the transaction ID for the business event. Requires |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Name |
| The name of the flow that this component references. |
N/A |
| Automatically generated identifier for the component. |
Target Variable |
| Name of the variable in which you want to store message data. Names can only include numbers, characters, and underscores. For example, hyphens are not allowed in the name. See Enrich Data with Target Variables in the Mule documentation. |
Target Value |
| Value of the data to store in the target variable. By default, the value is the message payload (payload). The field accepts any value that a variable accepts: any supported data type, DataWeave expressions, the keywords |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Foreach (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Collection |
| A DataWeave expression that returns a Java collection, object, array, map, or DOM nodes. For Each automatically splits the collection into elements, such as the highest-level objects in a JSON array of objects. Each element becomes the |
Batch size |
| Number that the scope uses to partition the collected elements from the input into sub-collections of a specified size. For example, if input to For Each is an array of 199 elements and you set the batch size to 50, the scope produces three arrays of 50 elements each and one array of 49 elements. Defaults to |
Root message variable name |
| Configurable name of the variable that stores the complete, un-split Mule message from the original input to For Each. The message contains the payload and any attributes but does not contain any variables ( |
Counter variable name |
| Name of the variable that assigns a number to each iteration over a given element. The sequence starts with |
| 1 | For Each (<foreach />) collects the entire input payload and splits it into the ten top-level JSON objects within it, such as this one: |
| 2 | As For Each iterates over each object, the DataWeave expression (payload.company) in the Transform component (<ee:transform />) uses DataWeave selectors to extract the value of each "company" key and transform the payload to the value of each of those keys. As in a Mule flow, the next component within For Each receives the transformed payload as its input. |
| 3 | The File Write operation (<file:write />) uses payload.name within a larger DataWeave expression to select the name of each company from the transformed object. The name of each file follows the pattern specified in the expression, which hyphenates the extracted company name and appends a date-time stamp to make the file name unique. For example, the name of a file for Romaguera-Crona data looks like this:By default, the operation also loads the payload received from Transform Message to each file. |
| 4 | The logs print the following message for the first object from the input array: |
| 1 | Creates a new order: The POST /orders operation accepts a JSON payload and returns a success or error response. |
| 2 | Retrieves a list of all orders: The GET /orders operation returns an array of order objects. |
| 3 | Handles operations for a specific order: Includes GET, PUT, and DELETE methods on /orders/{orderId} with path parameter validation. |
| 4 | Uses bearer token authentication: The bearerAuth scheme is applied to secure all endpoints. |
| 5 | Defines reusable data models: The Order and OrderItem schemas provide consistent structure for request and response payloads. |
| 1 | Creates a new product: The POST /products operation uses a JSON payload to define the product. |
| 2 | Lists all products: The GET /products operation returns an array of products in stock. |
| 3 | Manages individual products: Includes operations to retrieve, update, or delete a specific product using its ID. |
| 4 | Secures endpoints with bearer authentication: The API uses bearerAuth to protect inventory operations. |
| 5 | Includes a validated product schema: The Product schema enforces required fields and validation like minimum: 0 for quantity. |
| 1 | Registers a new user: POST /register validates input and creates a new user account. |
| 2 | Logs in a user: POST /login checks credentials and returns a token on success. |
| 3 | Refreshes token: POST /token/refresh issues a new access token using a refresh token. |
| 4 | Initiates password reset: POST /reset-password sends a reset email if the user exists. |
| 5 | Secures endpoints: All protected routes use JWT bearer authentication. |
| 6 | Defines schemas: UserRegistration and UserLogin schemas include input validation like minLength and format: email. |
| 1 | This flow starts with a Salesforce Connector on-new-object-listener trigger so that when a new case is created, the flow is triggered. |
| 2 | The payload for the new case is set in variables using a DataWeave script within the Transform component. |
| 3 | The email is sent using the Email Connector Send operation with the configured SMTP settings. The subject of the email is set to `New Case Created: ` followed by the case subject. |
| 4 | The body of the email is set to HTML format and includes the case ID, subject, and description. |
| 1 | The flow starts with an HTTP Listener that listens for an API call on the /updatePhoneNumber path. |
| 2 | In the Transform component, the payload is set using the <ee:transform> operation to specify the account ID and phone number to update. |
| 3 | The Salesforce Connector Update operation is used to update the Account object in Salesforce. The |
| 4 | The payload is passed as the records to update in Salesforce. |
| 1 | Configure the HTTP Listener operation to listen for a POST request on the /syncAccountPhone path. |
| 2 | Extract the account ID from the payload and store it in a variable named accountId. |
| 3 | Extract the phone number from the payload and store it in a variable named phone. |
| 4 | The Database Connector Select operation retrieves the account record from the database based on the account ID. |
| 5 | Use a DataWeave Transform operation to create the updated data for the Salesforce Account object. |
| 6 | Use the Salesforce Connector Update operation to update the Salesforce account. |
| 7 | The account information is also updated in the database using a Database Connector Update operation. |
| 8 | The payload is set to Phone field synced successfully to indicate a successful sync. |
| 1 | The flow starts with a Database Connector Listener component that listens for new records in the database record table. |
| 2 | The scheduling strategy is set to trigger the flow at a fixed frequency of every one second. |
| 3 | The payload of the listener is stored in a variable named record using the Set Variable operation. |
| 4 | An email is sent from the address sender@example.com using the Email Send component. |
| 5 | The email is sent to the address recipient@example.com. |
| Component | Minimum | Recommended |
|---|---|---|
CPU | 8 cores or 8 vCPUs | More cores for parallel builds and multiple large projects |
RAM | 32 GB | Additional memory for multiple VS Code windows and heavy local testing |
Primary storage type | NVMe SSD (PCIe 3.0 or higher) | Same; avoid network-only or heavily virtualized disks for the OS, user profile, and project roots |
Free disk space | 50 GB | 100 GB |
Network | 1 Gbps | 10 Gbps (for large dependency downloads and corporate artifact repositories) |
| Metric | Minimum Requirement |
|---|---|
Random read IOPS (4 KB) | 10,000 IOPS |
Random write IOPS (4 KB) | 8,000 IOPS |
Sequential read | 1,250 MB/s |
Sequential write | 1,000 MB/s |
| Component | Minimum | Recommended |
|---|---|---|
CPU | 8 cores or 8 vCPUs | More cores for parallel builds and multiple large projects |
RAM | 32 GB | Additional memory for multiple VS Code windows and heavy local testing |
Primary storage type | NVMe SSD (PCIe 3.0 or higher) | Same; avoid network-only or heavily virtualized disks for the OS, user profile, and project roots |
Free disk space | 50 GB | 100 GB |
Network | 1 Gbps | 10 Gbps (for large dependency downloads and corporate artifact repositories) |
| Metric | Minimum Requirement |
|---|---|
Random read IOPS (4 KB) | 10,000 IOPS |
Random write IOPS (4 KB) | 8,000 IOPS |
Sequential read | 1,250 MB/s |
Sequential write | 1,000 MB/s |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Idempotent message validator (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Value expression |
| N/A |
Id expression |
| The expression Mule uses to generate the ID. You can use a DataWeave function to calculate the ID, or you can extract the ID from any existing value of the Mule message. |
Store prefix |
| N/A |
Object store |
| N/A |
| GraphQL Schema | Mule Flow |
|---|---|
| |
| Field Name | Field Value |
|---|---|
Host |
|
Port |
|
User |
|
Password |
|
Database |
|
| Avro | JSON | RAML | |
|---|---|---|---|
AsyncAPI | Yes | Yes | No |
GraphQL | No | No | Yes |
OData | No | No | Yes |
REST | No | Yes | Yes |
SOAP | No | No | Yes |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your implementation project. |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
Search an API Specification from Exchange | Name of the gRPC API specification in Exchange. Use search filters and select the Type that corresponds to gRPC API to narrow results to gRPC specifications. |
Mule runtime | Mule runtime version 4.11 or later (required for gRPC). |
Java Version | Java version compatible with your Mule runtime. |
Add to workspace | Optionally select or deselect to add the new project to the current workspace. Deselect to create the project in the chosen location without opening it in the current workspace. |
| Avro | JSON | RAML | |
|---|---|---|---|
AsyncAPI | Yes | Yes | No |
GraphQL | No | No | Yes |
OData | No | No | Yes |
REST | No | Yes | Yes |
SOAP | No | No | Yes |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the title and name of the project file. For example, if the project name is My Project, the project file name is |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
Search an API Specification from Exchange | Name of the specification in Exchange. Search results can include OAS, RAML, AsyncAPI, and GraphQL specifications. Activate Show filters to narrow your search results. See Filtering Search Results for more information. To implement a gRPC API spec, see Implementing a gRPC API Specification with Anypoint Code Builder. |
Mule runtime | Mule runtime version to use for your project. |
Java Version | Java version to use for Mule. |
| 1 | AMQ-prod configures an Anypoint MQ broker.You can discover the URL for an MQ broker from the region that you select when creating the queue. See the copy button in Create a Queue, and see Configuring Client Apps. |
| 2 | Kafka-prod configures a locally hosted Kafka broker. |
| 3 | order-placed configures an Anypoint MQ channel for publishing (listening for) and subscribing to (publishing) orders. Similarly configured channels are order-cancelled and order-confirmed. |
| 4 | order-backordered configures a Kafka channel for publishing (listening for) and subscribing to (publishing) backorders. |
| 5 | components defines the structure of messages for the different types of orders, which include OrderPlaced, OrderCancelled, OrderConfirmed, and BackOrder. |
| 1 | AMQ-prod in <apikit-asyncapi:server value="AMQ-prod" /> identifies an Anypoint MQ server connection. For more information, see Example: Connection Configurations. |
| 2 | Kafka-prod in <apikit-asyncapi:server value="Kafka-prod" /> identifies a Kafka server connection. For more information, see Example: Connection Configurations. |
| 1 | After the Message Listener in flow LISTEN:listen-order-placed is triggered by an order, an HTTP request operation (<http:request/>) requests and stores inventory data in the target variable inventory. |
| 2 | The Choice component (<choice/>) checks the availableStock value in the target variable (vars.inventory.stockDetails.availableStock) against a quantity value from the order payload (payload.items.quantity[0]). The quantity value comes from an OrderPlaced message that triggers the flow.If sufficient stock is available, a Set Payload component ( |
| 3 | The Message Listener in flow LISTEN:listen-order-confirmations listens for activity on the Anypoint MQ channel order-confirmed. When triggered, the flow configures its <set-payload/> component to create an order confirmation message. The Flow Reference (<flow-ref/>) sends this message for processing within the notification-flow subflow. |
| 4 | The flow LISTEN:listen-order-backordered is triggered by LISTEN:listen-order-placed when inventory is insufficient. |
| 1 | HTTP Request connection configuration example |
| 2 | HTTP Listener connection configuration example |
| 3 | Email SMTP connection configuration example |
| 4 | Slack connection configuration example |
| 1 | Transforms payload output from the LISTEN:listen-order-confirmations flow into Mule variables that capture confirmation message data |
| 2 | Posts the Slack confirmation message by using the <slack:post-message/>`* operation from Slack Connector |
| 3 | Emails the confirmation message by using the <email:send/> operation from Email Connector |
| Avro | JSON | RAML | |
|---|---|---|---|
AsyncAPI | Yes | Yes | No |
GraphQL | No | No | Yes |
OData | No | No | Yes |
REST | No | Yes | Yes |
SOAP | No | No | Yes |
| Field Name | Field Value |
|---|---|
Project Name | Unique name for your project. This name is used as the title and name of the project file. For example, if the project name is My Project, the project file name is |
Project Location | Your home directory or another directory you create. Don’t create the project within another project directory. |
Search an API Specification from Exchange | Name of the specification in Exchange. Search results can include OAS, RAML, AsyncAPI, and GraphQL specifications. Activate Show filters to narrow your search results. See Filtering Search Results for more information. To implement a gRPC API spec, see Implementing a gRPC API Specification with Anypoint Code Builder. |
Mule runtime | Mule runtime version to use for your project. |
Java Version | Java version to use for Mule. |
| 1 | Search locally |
| 2 | Search in Exchange |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Invalidate cache (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Cachingstrategy ref |
| Reference to the caching strategy for the cache to invalidate. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Invalidate key (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Cachingstrategy ref |
| Reference to the caching strategy for the cache key to invalidate. |
Key generation expression |
| Optional. A DataWeave expression to generate the key to invalidate. Use the same expression configured in the caching strategy that generated the key. |
Keygenerator ref |
| N/A |
| Field Name | Field Value |
|---|---|
Project Name | Retrieve Users API |
Project Location | Your home directory or another directory you create (see Adding Folders to Your Home Directory). |
API Type | REST API |
API Specification Language | RAML 1.0 |
| Avro | JSON | RAML | |
|---|---|---|---|
AsyncAPI | Yes | Yes | No |
GraphQL | No | No | Yes |
OData | No | No | Yes |
REST | No | Yes | Yes |
SOAP | No | No | Yes |
| 1 | API spec |
| 2 | Implementation project |
| Property | Required | Description |
|---|---|---|
| Yes | Specifies the debugger type. Must be |
| Yes | Specifies the launch type. Must be |
| Yes | Display name for this configuration. Appears in the Run and Debug view dropdown menu. Use descriptive names like |
| No | Path to a single Mule project. Use |
| No | Array of project paths for running multiple Mule applications concurrently. Example: |
| No | Path to the Mule runtime home directory. Use |
| No | Command-line arguments passed to the Mule runtime JVM. Use the |
| No | Port number for the Mule debugger. Default: |
| No | Set to |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Logger (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Message |
| A string in double or single quotation marks, a DataWeave expression, a Mule variable, or a concatenated combination of supported values that serve as the message. When this field is empty, the Logger produces the following message: |
Level |
| Options are |
Category |
| Optional string that describes the logger in a way that helps you distinguish it from other loggers in your flow. In the console, the logger replaces the generic processor name with your category. |
| Property Key | Property Value |
|---|---|
|
|
|
|
| Field Name | Field Value |
|---|---|
Credentials origin | Select customExpression. |
Client ID Expression |
|
Client Secret Expression |
|
| Component | What It Does |
|---|---|
Global Error Handler | Set any error handler as the application-wide default. You can also reference handlers from imported projects for consistent exception management across teams. |
API Autodiscovery | Configure your Mule application for API Manager auto-discovery at deployment time. Select from the flows defined in your application when configuring the auto-discovery settings. |
TLS Context | Set up Trust Store and Key Store configurations once, then reference them from any connector that supports TLS. |
Import Project Reference | Import a JAR containing a shared Mule project. Use its flows, error handlers, and connection configurations. Anypoint Code Builder handles POM dependency management. When you import from a project dependency, specify the Mule configuration file to import. |
Caching Strategy | Define a centralized caching strategy that you can reference from Cache scopes across the project. |
Object Store | Create an object store to use with a caching strategy or other components that persist data. |
Configuration Properties | Register a |
| Approach | When to Use It |
|---|---|
Import a Studio workspace | Bring over an existing Studio workspace and keep working against the same project files. Anypoint Code Builder creates a workspace that references your Studio projects, and changes stay in sync. See Import an Anypoint Studio Workspace. |
Export and import a JAR file | Package a single Mule project as a sharable JAR file in Studio and import it into Anypoint Code Builder by following the steps on this page. |
Open the project folder directly | Open an existing Studio project folder in Anypoint Code Builder without packaging it, which is the fastest path when the project is already on your machine. See Importing Projects into Anypoint Code Builder. |
| Studio UI | Anypoint Code Builder |
|---|---|
Run Configurations > Arguments tab > VM arguments |
|
Run Configurations > Environment tab | Environment variables passed via |
Run Configurations > Port settings (if available) |
|
Configuration dropdown in toolbar | Configuration dropdown in Run and Debug view |
| 1 | The runtime version is the Mule runtime version you select when creating the integration.For information about version support and automated Mule patch updates, see Mule and Java version support. |
| 2 | The applicationName property defines the part of the URL that you use to access your application on CloudHub.The name must be unique across all applications deployed to CloudHub. |
| 1 | Creates a new order: The POST /orders operation accepts a JSON payload and returns a success or error response. |
| 2 | Retrieves a list of all orders: The GET /orders operation returns an array of order objects. |
| 3 | Handles operations for a specific order: Includes GET, PUT, and DELETE methods on /orders/{orderId} with path parameter validation. |
| 4 | Uses bearer token authentication: The bearerAuth scheme is applied to secure all endpoints. |
| 5 | Defines reusable data models: The Order and OrderItem schemas provide consistent structure for request and response payloads. |
| 1 | Creates a new product: The POST /products operation uses a JSON payload to define the product. |
| 2 | Lists all products: The GET /products operation returns an array of products in stock. |
| 3 | Manages individual products: Includes operations to retrieve, update, or delete a specific product using its ID. |
| 4 | Secures endpoints with bearer authentication: The API uses bearerAuth to protect inventory operations. |
| 5 | Includes a validated product schema: The Product schema enforces required fields and validation like minimum: 0 for quantity. |
| 1 | Registers a new user: POST /register validates input and creates a new user account. |
| 2 | Logs in a user: POST /login checks credentials and returns a token on success. |
| 3 | Refreshes token: POST /token/refresh issues a new access token using a refresh token. |
| 4 | Initiates password reset: POST /reset-password sends a reset email if the user exists. |
| 5 | Secures endpoints: All protected routes use JWT bearer authentication. |
| 6 | Defines schemas: UserRegistration and UserLogin schemas include input validation like minLength and format: email. |
![]() Learn About MuleSoft Vibes MuleSoft Vibes is a purpose-built assistant for the development lifecycle, available directly in Anypoint Code Builder. Build, deploy, and manage your projects using natural language prompts. | ![]() Get Started Set up the IDE, confirm permissions, then open MuleSoft Vibes and start prompting with confidence. | ![]() Design APIs, Rules, and Automation Shape API specs with AI, attach context, tune Vibes settings, and standardize output with rules, workflows, and commands. |
![]() Build Integration Projects Attach context to MuleSoft Vibes, open the assistant for integrations, and scaffold an integration project. | ![]() Resume Work, Prompt, and Improve Output Pick up tasks from conversation history, write and verify prompts, reuse example patterns, and improve output when results are inconsistent. | ![]() Configure and Manage MCP Servers Install and tune MCP servers so MuleSoft Vibes can call the right tools with the right approvals. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Parallel foreach (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Collection |
| An expression that returns a collection. Defaults to |
Timeout |
| Specifies the timeout in milliseconds for each parallel route. |
Max concurrency |
| Specifies the maximum level of parallelism for the router to use. + By default, all routes run in parallel. |
Target Variable |
| Name of the variable in which you want to store message data. Names can only include numbers, characters, and underscores. For example, hyphens are not allowed in the name. See Enrich Data with Target Variables in the Mule documentation. |
Target Value |
| Value of the data to store in the target variable. By default, the value is the message payload (payload). The field accepts any value that a variable accepts: any supported data type, DataWeave expressions, the keywords |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Parse template (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Content |
| String representing the template where embedded expressions are evaluated and replaced by their results. |
Location |
| Location of the template file. Mule inserts values extracted from the message properties or variables into this file. |
Output encoding |
| Encoding of the payload that this component outputs. |
Output mime type |
| MIME type of the payload that this component outputs. For more information, see Using Reader and Writer Properties. |
Parameters | N/A | Appends a key-value pair for a reader property to the value of the |
Target Variable |
| Name of the variable in which you want to store message data. Names can only include numbers, characters, and underscores. For example, hyphens are not allowed in the name. See Enrich Data with Target Variables in the Mule documentation. |
Target Value |
| Value of the data to store in the target variable. By default, the value is the message payload (payload). The field accepts any value that a variable accepts: any supported data type, DataWeave expressions, the keywords |
| First Name | Last Name | Department | Job Title | Start Date | Employee Type |
|---|---|---|---|---|---|
| #[payload['first_name']] | #[payload['last_name']] | #[payload['department']] | #[payload['job_title']] | #[payload['start_date']] | #[payload['employee_type']] |
| First Name | Last Name | Department | Job Title | Start Date | Employee Type |
|---|---|---|---|---|---|
| "Melba" | "Roy Mouton" | "Computers" | "Assistant Chief of Research Programs" | "01/01/2021" | "mathematician" |
| First Name | Last Name | Department | Job Title | Start Date | Employee Type |
|---|---|---|---|---|---|
| " ++ (item.first_name default "") ++ " | " ++ (item.last_name default "") ++ " | " ++ (item.department default "") ++ " | " ++ (item.job_title default "") ++ " | " ++ (item.start_date default "") ++ " | " ++ (item.employee_type default "") ++ " |
| First Name | Last Name | Department | Job Title | Start Date | Employee Type |
|---|---|---|---|---|---|
| Melba | Roy Mouton | Computers | Assistant Chief of Research Programs | 01/01/2021 | mathematician |
| Annie | Easley | Software Development | Technical Lead | 06/02/2020 | Rocket Scientist |
| 1 | List the relative paths to each Mule project in your workspace |
| 2 | Add the launch configuration section with the shared encryption key |
| 3 | Name that appears in the Run and Debug dropdown |
| 4 | Replace MuleSecureKey024 with your encryption key |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Raise error (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Type |
| The type of error. |
Description |
| The error description. |
| 1 | The Choice router components adds conditional processing to the flow. |
| 2 | If the age parameter sent in the request is less than 16 (http://localhost:8081/test?age=15), the Raise Error component raises the error type PRECONDITIONS:INCORRECT_AGE with the description Minimum age of 16 required to drive. |
| 3 | If the age parameter is greater than 16 in the request (http://localhost:8081/test?age=17), a Logger component returns the default message User age above 16 years. Allowed to drive. |
| 4 | An On-Error Continue component matches the type of the error PRECONDITIONS:INCORRECT_AGE and executes the Logger component inside its scope. The Logger component logs the error message Minimum age of 16 required to drive. |
| 5 | If no age parameter is passed in the request (http://localhost:8081/test) the choice component automatically raises a MULE:EXPRESSION error when trying to evaluate the expression #[message.attributes.queryParams.age < 16]. No age parameter was provided in the request, so its value is null.Then, an On-Error Continue component matches the type of the error |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Remove variable (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Variable name |
| Name of the Mule variable to remove. |
| 1 | The Scheduler component triggers the flow. |
| 2 | Set Variable creates a Mule variable (myMuleVar). |
| 3 | The first Logger in the flow prints the value of the variable ("value of my Mule variable"). |
| 4 | Remove Variable provides a string with the name of the variable (variableName="myMuleVar") to remove the variable from the Mule event. |
| 5 | The second Logger prints null because the Mule variable no longer exists. |
| 6 | The second Remove Variable logs a WARN message because it attempts to remove a Mule variable (banana) that does not exist in the Mule event. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Round robin (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
N/A |
| When set to |
| Child Element | Description |
|---|---|
| Accepts one or more components as child elements for processing the Mule event. Multiple |
| 1 | Scheduler (<scheduler/>) executes the flow every 10 seconds. |
| 2 | Set Payload (<set-payload/>) provides the array [1,2,3,4]. |
| 3 | The Logger component before Round Robin prints the initial payload, [1,2,3,4]. |
| 4 | In the first route (<route/>) of Round Robin, a Set Payload component uses the DataWeave expression payload - 4 to remove the last element of the initial payload, and the Logger in that route prints the resulting payload as the value of key "r1", { "r1": [1,2,3] }. |
| 5 | In the second route (<route/>) of Round Robin, a Set Payload component uses the DataWeave expression payload + 5 to append a new element to the initial payload, and the Logger in that route prints the resulting payload as the value of key "r2", { "r2": [1,2,3,4,5] }. |
| 6 | The Logger component after Round Robin prints the payload of the route processed by an execution of Round Robin. The first execution prints [1, 2, 3]. The next execution prints [1, 2, 3, 4, 5]. The next prints [1, 2, 3], and so on. |
| 1 | Set to false or remove this field to switch to debug mode. |
| 1 | All projects in the configuration use the same runtime arguments. |
| To change | Do this |
|---|---|
Execution mode (run or debug) | Edit |
Runtime arguments | Add |
Mule runtime or JDK version | Edit |
Projects included in the run | Ask MuleSoft Vibes to update the configuration, or edit |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Scatter gather (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Timeout |
| Sets the timeout for responses from sent messages, in milliseconds. A value of |
Max concurrency |
| Sets the maximum number of routes to run concurrently. By default, all routes run in parallel. Setting this value to |
Collect list | N/A | N/A |
Target Variable |
| Name of the variable in which you want to store message data. Names can only include numbers, characters, and underscores. For example, hyphens are not allowed in the name. See Enrich Data with Target Variables in the Mule documentation. |
Target Value |
| Value of the data to store in the target variable. By default, the value is the message payload (payload). The field accepts any value that a variable accepts: any supported data type, DataWeave expressions, the keywords See Enrich Data with Target Variables in the Mule documentation. |
| Child Element | Description |
|---|---|
| Accepts one or more components as child elements for processing the Mule event. Multiple |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Scheduler (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Disallow concurrent execution |
| When this attribute is set to |
| Child Element | Description |
|---|---|
| Accepts a |
| Attribute Name | Attribute XML | Description |
|---|---|---|
N/A |
| The frequency at which the Scheduler triggers the flow given the |
N/A |
| The amount of time to delay execution of the Scheduler for the first time after the application starts. This property uses the same |
N/A |
| One of the following time units for the values of |
| Attribute Name | Attribute XML | Description |
|---|---|---|
N/A |
| A cron expression for triggering the Scheduler. There is no default cron expression. For guidance with expressions, see Cron Expressions. Example: |
N/A |
| Time zone passed as a system property, or in a machine’s operating system. Java time zone values are supported. Avoid Java abbreviations, such as |
| Expression | Behavior |
|---|---|
| Run every 2 seconds of the day, every day. |
| Run at 10:15 a.m., every day. |
| Run at 10:15 a.m., every day during the year 2019. |
| Run every minute starting at 2pm and ending at 2:59pm, every day. |
| Run every 5 minutes starting at 2pm and ending at 2:55pm, every day |
| Run the first second of the first minute of the first hour, on the first and seventh day, every month. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Set payload (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Value |
| A literal string or DataWeave expression that defines how to set the payload, for example, |
N/A |
| A |
Encoding |
| Encoding of the payload that this component outputs. |
Mime type |
| MIME type of the payload that this component outputs. For more information, see Using Reader and Writer Properties. |
Parameters | N/A | Appends a key-value pair for a reader property to the value of the |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Set variable (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Value |
| Value for the variable, which can be a string or a DataWeave expression. For an example that uses an expression, see Use Dynamic Writer Properties. This attribute is required. |
Variable name |
| Name of the variable, which can be a string or a DataWeave expression. Variable names are must include only numbers, characters, and underscores. This attribute is required. |
Encoding |
| Encoding of the payload that this component outputs. |
Mime type |
| MIME type of the payload that this component outputs. For more information, see Using Reader and Writer Properties. |
Parameters | N/A | Appends a key-value pair for a reader property to the value of the |
| Component | Minimum | Recommended |
|---|---|---|
CPU | 8 cores or 8 vCPUs | More cores for parallel builds and multiple large projects |
RAM | 32 GB | Additional memory for multiple VS Code windows and heavy local testing |
Primary storage type | NVMe SSD (PCIe 3.0 or higher) | Same; avoid network-only or heavily virtualized disks for the OS, user profile, and project roots |
Free disk space | 50 GB | 100 GB |
Network | 1 Gbps | 10 Gbps (for large dependency downloads and corporate artifact repositories) |
| Metric | Minimum Requirement |
|---|---|
Random read IOPS (4 KB) | 10,000 IOPS |
Random write IOPS (4 KB) | 8,000 IOPS |
Sequential read | 1,250 MB/s |
Sequential write | 1,000 MB/s |
| Asset | Repository Location |
|---|---|
Workspace rules | Markdown ( |
Workspace skills | One directory per skill in |
| Attribute Name | Attribute XML | Description |
|---|---|---|
name1 (default) |
| Editable name for the subflow. |
| 1 | Click the + icon on the connector to open the configuration panel. |
| 2 | After filling in the required fields, click Test Connection. |
| 1 | All suites: to run all tests in all suites, click the Run Tests, Debug Tests, or Run Tests with Coverage icon. You can select the same options from the right-click menu. |
| 2 | Suite: to run all tests in a single suite, hover over, or click the suite, and then click the Run Test, Debug Test, or Run Test with Coverage icon. You can select the same options from the right-click menu. |
| 3 | Test: to run a single test, hover over, or click a test in a test suite, and then click the Run Test, Debug Test, or Run Test with Coverage icon. |
| 1 | Launcher for the standard debugger, named Debug Mule Application. |
| 2 | Launcher for the MUnit debugger, named Munit Run Tests. |
| Processor | Description |
|---|---|
| Create a mock of an event processor in your flow to simulate the behavior of the event processor without executing it. |
| Observe what happens before and after a specific event processor in your flow is executed, without altering its behavior. |
| 1 | OAS 3.0 specification |
| 2 | /current-time endpoint definition |
| 3 | Formatted example of a date-time value |
| 1 | HTTP Listener connection configuration example |
| 2 | Autodiscovery configuration that references the flow currentTimeFlowIf you try this app, replace |
| 3 | Flow currentTimeFlow |
| 4 | HTTP listener with endpoint configuration path="/current-time"This endpoint matches the name of the endpoint defined in the OAS spec example. |
| 5 | Transform Message component that uses DataWeave to get the current time in the specified format The format matches the formats defined in the OAS spec example. |
| 6 | Logger component that prints the current time (in the payload) upon requests to http://localhost:8081/current-time when the app is running |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Transaction (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Id |
| Defines the value of the identifier, which can be an expression or a literal. By default, the component assigns a numeric value. |
| 1 | The output directive of a DataWeave script that configures the application/java format |
| 2 | Location for the body of the DataWeave script |
| Element Name | Element XML | Description |
|---|---|---|
Set payload |
| Sets or transforms the Mule message payload. This child element of |
Set attribute |
| Sets or transforms one or more Mule message attributes. This child element of |
| Element Name | Element XML | Description |
|---|---|---|
Set Variables |
| Sets or transforms a Mule variable. This child element of |
| 1 | <http:listener/> configures an HTTP Listener operation that triggers the flow from requests to localhost port 8081 at the endpoint /mytrigger. |
| 2 | <http:request/> configures and HTTP Request operation for a JSON data sample. |
| 3 | <set-variable/> sets Mule variable myVar to the string value "myVar Value". |
| 4 | LOGGER-PAYLOAD-1 prints the value of payload[0], which is the first index of an array of user objects found at https://jsonplaceholder.typicode.com/users. |
| 5 | LOGGER-ATTRIBUTES-1 is set to the predefined Mule variable attributes to print the HTTP metadata returned from the HTTP request, including the status code, reason phrase, and headers.For more information about |
| 6 | LOGGER-VARIABLES-1 is set to vars to print an object that describes the Mule variable in the Mule event:{myVar=TypedValue[value: 'my VarValue',
dataType: 'SimpleDataType{type=java.lang.String,
mimeType='*/*; charset=UTF-8'}']} |
| 7 | <ee:transform/> provides DataWeave scripts that select and transform payload, attribute, and variable data in the Mule event.
|
| 8 | LOGGER-PAYLOAD-2 prints the transformed value of payload, which is now an array of user id values ([1,2,3,4,5,6,7,8,9,10]). |
| 9 | LOGGER-ATTRIBUTES-2 prints the transformed value of attributes, which is now the JSON object { "status-code": 200 }. |
| 10 | LOGGER-VARIABLES-2 prints the value of Mule variable vars.myVar2, which is the string "myVar Value". |
| 11 | LOGGER-VARIABLES-3 prints the value of Mule variable vars.myVar3.myNewVar, which is the string "myvariable3". |
| 1 | Within the listener (<http:listener/>), the attribute path="/api/*" is set automatically during the scaffolding process. |
| 2 | The router (<apikit:router/>) is located after the listener in the scaffolded interface within the configuration XML. |
| Attribute Name | Attribute XML | Description |
|---|---|---|
Try (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Transaction type |
| Specifies the type of transaction. Accepted values are:
|
Transactional action |
| Defines how to handle a transaction. Accepted values are:
|
| Attribute Name | Attribute XML | Description |
|---|---|---|
Until successful (default) |
| Editable name for the component to display in the canvas. |
N/A |
| Automatically generated identifier for the component. |
Max retries |
| Maximum number of retries allowed. This attribute can be either a number or an expression that resolves to a number. Error messages look like this: |
Millis between retries |
| Specifies, in milliseconds, the minimum interval between two retries. The length of the interval is affected by a previous execution but typically does not exceed twice the minimum. This attribute can be a number or an expression that resolves to a number. Defaults to |
| MuleSoft | URL |
|---|---|
Anypoint Platform services: CloudHub, Exchange, Core Services |
|
Assets downloaded from Exchange |
|
Resources for API Portals |
|
| Third Party | URL |
|---|---|
Eclipse libraries and Eclipse update sites |
|
MuleSoft Maven repositories and connectors update site |
|
| 1 | Expression Field: Enters a DataWeave expression or script in a component configuration panel. |
| 2 | Expression Builder: Creates and manages expressions within your Mule applications. |
| 3 | Transformation Builder: Creates DataWeave transformations in your Mule applications in a visual interface assisted by AI. |
| Data tab (with automatically generated data) | Data tab (expanded) |
|---|---|
|
|
| DataWeave Functions | Function Reference |
|---|---|
Hover over a function to get a short description:
| Click Details to get complete documentation:
|
| Preview Auto Generated Sample Data | Preview Your Sample Data |
|---|---|
Output results from auto generated sample data:
| Outputs results from an expression with user-created sample data:
|
| Skill Name | Description |
|---|---|
| Create, update, or validate an Anypoint API Governance ruleset for API specifications, API instances, and MCP servers. |
| Build, edit, validate, publish, and deploy an Agent Broker project for Agent Network 2.0. |
| Create, update, or fix a Mule flow, subflow, or component. This skill runs a validation script at startup to check whether |
| Create a new Anypoint Code Builder run configuration. |
| Delete an existing Anypoint Code Builder run configuration. |
| Scaffold, configure, build, test locally, and publish a custom Omni Gateway policy with the Policy Development Kit (PDK). |
| Run or debug a Mule application by using an existing Anypoint Code Builder run configuration. |
| Add or update |
| Read, check for updates, and change the version of API dependencies in a Mule project. |
| Create, edit, delete, list, validate, and consolidate global configuration elements in a Mule project. Covers connector configs, TLS Context, Object Store, Caching Strategy, Global Error Handler, API AutoDiscovery, Import Project Reference, properties files, global-property elements, and multi-environment setup. |
| Verify and install the tools required to develop custom Omni Gateway policies with the Policy Development Kit (PDK). |
| Apply Policy Development Kit (PDK) code templates for common Omni Gateway custom policy features. |
| Write and run Docker-based integration tests for a custom Omni Gateway policy. |
| Write and run unit tests for a custom Omni Gateway policy built with the Policy Development Kit (PDK). |
| Run Anypoint Code Builder system diagnostics, including RAM, CPU, IOPS, and Windows optimizations. |
| Configure and implement Mule secure properties to encrypt sensitive data. |
| Convert an Agent Network 1.0 project into an Agent Network 2.0 project. |
| Edit an existing Anypoint Code Builder run configuration. |
| Upgrade a Mule application to a later Mule runtime version and Java version. |
| Field Name | Field Value |
|---|---|
Type |
|
Description |
|
| Field Name | Field Value |
|---|---|
Name |
|
Connection Config |
|
SQL Query Text |
|
Input Parameters |
|
| Field Name | Field Value |
|---|---|
Level |
|
Message |
|
| Field Name | Field Value |
|---|---|
Name |
|
Type | JSON |
Source | Example |
Example |
|
| Field Name | Field Value |
|---|---|
Name |
|
Type | JSON |
Source | Example |
Example |
|
| Column | Description |
|---|---|
Date | Timestamp of when the log entry was recorded. |
Log Level | Severity of the log entry (Error, Warning, Info). |
Extension | The Anypoint Code Builder extension that generated the log. |
Message | The detailed text of the log entry. |
Project | The name of the project related to the log entry. |
| Command | Description |
|---|---|
| Create a new rule based on the current conversation. |
| Start a new chat that carries over context from your current task. |
| Report a malfunctioning output by creating a GitHub issue with the MuleSoft Vibes format. |
| Skill | What It Does |
|---|---|
Secure Mule App | Scans for sensitive data, encrypts values using the secure-properties-tool JAR, creates |
Manage Global Configurations | Creates the |
Build Mule Integration | When generating new flows that need credentials, automatically includes secure property placeholders and wires up the secure config element. |
| What You Want | What to Ask MuleSoft Vibes |
|---|---|
Initial setup | "Set up secure properties for this project" |
Encrypt a single value | "Encrypt 'my-secret' with key X using AES CBC" |
Add credentials | "Add encrypted DB credentials to my secure properties" |
Convert plaintext | "Move my hardcoded passwords to secure properties" |
Production setup | "Create a prod secure properties file" |
Check configuration | "Validate my secure properties setup" |
Debug issues | "Why is my secure property not resolving?" |
Key rotation | "Rotate my encryption key to a new value" |
| Action Type | Location |
|---|---|
Global actions | Always available from the Command Palette. These actions don’t depend on a specific project, such as creating a new project, importing assets from Exchange, or opening Anypoint Code Builder settings. |
Project-specific actions | Available from the context menu (right-click) in the Explorer view. These actions apply to a specific project, such as running, debugging, deploying, or exporting a project. |