---
schema_version: "1"
id: 8bdb6b506cd58e63854422d6ac0cfec2d8727d549e0507702a76de1775744e94
title: Creating Integrations
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/anypoint-code-builder/int-create-integrations.md
canonical_url: https://docs.mulesoft.com/anypoint-code-builder/int-create-integrations
source_site: docs.mulesoft.com
content_type: documentation
content_hash: d1410526df4ba11ee484a0e043b903edc0bfed8c163906227ac708a9f2a77b5d
description: MuleSoft Documentation Site
latest: true
---
---
product: Anypoint Code Builder
version: master
---

# Creating Integrations

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

To process your data with business logic, create an integration with connectors and other components
in a Mule application.

A typical workflow includes one or more of the following tasks:

1.  Create or import an integration project:

    - [Create an integration project](#create-integration-project)

      Create the integration from scratch, or start from a project template or integration example
      that you import from Anypoint Exchange. For information about templates and examples in
      Exchange, see [Asset Types](https://docs.mulesoft.com/exchange/asset-types).

    - [Import a project](https://docs.mulesoft.com/anypoint-code-builder/int-import-mule-project).

2.  [Add components to your project](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components).

You can create multiple configuration XML files in your project. See
[Create an Additional Configuration XML File](#create-new-config).

## Before You Begin

- [Set up and access Anypoint Code Builder](https://docs.mulesoft.com/anypoint-code-builder/start-acb).

## Create an Integration Project

To create an integration project:

1.  In the activity bar, click the ![](/mulesoft/current/en-us/anypoint-code-builder/_images/icon-ms-logo.png) (**Anypoint Code Builder**) icon.

2.  From **Create**, click **Develop an Integration**:

    ![Develop an Integration link highlighted in the Getting started section](/mulesoft/current/en-us/anypoint-code-builder/_images/develop-integration-option-mat.png)

3.  Specify a project name and location in the **Develop an Integration** form.

    <table><colgroup><col> <col></colgroup><thead><tr><th>Field Name</th><th>Field Value</th></tr></thead><tbody><tr><td><div><div><p><strong>Project Name</strong></p></div></div></td><td><div><div><p>Unique name for your project.</p></div><div><p>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 <code>oas-integration</code>.</p></div></div></td></tr><tr><td><div><div><p><strong>Project Location</strong></p></div></div></td><td><div><div><p>Your home directory or another directory you create. Click <strong>Browse</strong> to select a different directory for the integration.</p></div><div><p>See <a href="https://docs.mulesoft.com/anypoint-code-builder/start-add-folders">Adding Folders to Your Home Directory</a>.</p></div><div><p>Don’t create the project within another project directory.</p></div></div></td></tr></tbody></table>

4.  Create a project from scratch, or start with an asset from Anypoint Exchange.

    - **Start with an Empty Project**

    - **Start with a Project Template or Example**

    Click **Empty Project** to start an integration project from scratch, without any preconfigured
    components.

    ![Create integration project from scratch.](/mulesoft/current/en-us/anypoint-code-builder/_images/int-create-integration-scratch.png)

    To import an existing integration template or example from Anypoint Exchange:

    1.  Click **Template or Example Project** to import an existing integration template or example
        from Anypoint Exchange.

        ![Create integration project from an Exchange asset.](/mulesoft/current/en-us/anypoint-code-builder/_images/int-create-integration.png)

    2.  If you intend to import a private asset associated with your business organization,
        [log in to Anypoint Platform](https://docs.mulesoft.com/anypoint-code-builder/start-acb#login-ide) to list the template or example in the
        search results.

        Searches for public assets do not require login.

    3.  Search for a template or for an example.

        Partial searches are accepted.

    4.  Mouse over the asset that you want to add.

    5.  Click **Add Asset**.

5.  Select a **Mule runtime** and **Java** version.

    The dropdown shows only the Mule runtime versions that are installed on your local disk,
    including bundled Mule runtime versions that are available immediately after installation. By
    default, the latest bundled Mule runtime version (Java 17 compatible) is selected. For Java 8
    projects, select Mule runtime version 4.8 (Java 8 compatible, reduced).

    You can select from locally available Mule runtime and Java versions. The dropdown shows only
    the Mule runtime versions that are installed on your local disk, including bundled Mule runtime
    versions that are available immediately after installation. Anypoint Code Builder saves your
    version settings to the project’s `mule-artifact.json` file. Bundled Mule runtime versions
    enable instant project opening and design. To install additional Mule runtime versions, use the
    `MuleSoft: Install Runtime` command. For information about version support and automated Mule
    patch updates, see [Mule and Java version support](https://docs.mulesoft.com/anypoint-code-builder/acb-release-notes#versions-mule-jdk). To set
    default Mule runtime and Java versions for the projects you create, see
    [Version Settings for Mule, Java, and Connectors](https://docs.mulesoft.com/anypoint-code-builder/int-versions).

6.  Click **Create Project**.

    Your project opens instantly using the bundled Mule runtime versions. No Mule runtime download
    is required to start designing your integration. If you need a specific Mule runtime version for
    running or debugging, you can install it later using the `MuleSoft: Install Runtime` command.
    See [Install Additional Mule Runtime Versions](https://docs.mulesoft.com/anypoint-code-builder/int-versions#install-additional-runtimes).

When you create an integration project from scratch or if your project from Exchange does not
contain a flow structure (Flow, Subflow, or Error handling component), the canvas provides the
option to create one. Otherwise, the canvas generates a graphical representation of the imported
asset’s components that you can use to start your configuration.

## Create an Additional Configuration XML File

Anypoint Code Builder creates the initial Mule configuration XML file in `src/main/mule` within the
Mule project.

You can create additional configuration files, for example, for an implementation file for a
scaffolded interface or for global configurations that you can reference from an XML file.

To create a new configuration XML file:

1.  In the Explorer view, right-click the **mule** folder (`src/main/mule`) and select **Mule** >
    **New Mule Configuration File…​**.

2.  In the **New Mule Configuration File…​** field that opens, provide a name for the new file
    without an extension.

    ![Provide name of Mule configuration XML file](/mulesoft/current/en-us/anypoint-code-builder/_images/int-add-config-xml.png)

    The name must be unique within the project. Permitted special characters are `_` (underscore),
    `-` (hyphen), `.`, `@`, `(`, and `)`.

    The process automatically appends an `xml` extension to the file name and opens the new
    configuration XML file and its canvas. The new configuration XML file contains the `<mule/>`
    element with default namespaces:

    ```xml
    <?xml version="1.0" encoding="UTF-8"?>
    <mule xmlns="http://www.mulesoft.org/schema/mule/core"
          xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">

    </mule>
    ```

    The file’s canvas provides the same options for building your project file that appear when you
    create an integration project. For an example and to get started with your configuration, see
    [Add a Component to Your Project](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components#add-a-component-to-your-project).

For each configuration file, use a descriptive name that reflects the purpose of the flows it
contains, such as `order-sync-flow.xml`, `customer-lookup-sapi.xml`, or `shared-error-handler.xml`,
instead of a generic name such as `new-flow.xml`. Descriptive names make it easier for you and your
team to locate the logic you need as the project grows.

## Organize Large Flows into Sub-Flows

As a flow grows to include many processors, it becomes harder to read, test, and reuse. When a flow
grows beyond approximately 15-20 processors, or when it contains logic you use in more than one
place, such as validation, enrichment, or error formatting, move that logic into a sub-flow and
reference it with a Flow Reference component (`<flow-ref>`). This keeps each flow focused on a
single purpose and you can reuse the extracted logic elsewhere in the project.

To move existing components into a new sub-flow without manually rewriting the XML, select the
components in the canvas and use **Extract to Flow**. See
[Refactor Flows Using Canvas Actions](https://docs.mulesoft.com/anypoint-code-builder/int-configure-components#canvas-actions).

## See Also

- [Working with Workspaces](https://docs.mulesoft.com/anypoint-code-builder/start-workspaces)

- [Anypoint Code Builder Components and Commands Reference](https://docs.mulesoft.com/anypoint-code-builder/acb-reference)

- [Debugging Mule Applications](https://docs.mulesoft.com/anypoint-code-builder/int-debug-mule-apps)
