> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Dynamic Connections

> Use dynamic connections in Integrate.io ETL to parameterize data source and destination settings at runtime with variables and expressions.

**WHAT IS THE DYNAMIC CONNECTION FEATURE?**

Dynamic connection is a new feature which allows you to replace database connections in source, destination components and execute SQL task component on workflow at package runtime. This is a convenient and scalable approach to running jobs across multiple database connections while using a single package! To use this feature, reach out to Integrate.io Support and request it to be enabled on your account!

Overview

1. Set variable for connection on package
2. Set variable for connection on workflow
3. Find connection IDs
4. Update variable value

**Set variable for connection on package**

<Steps>
  <Step>
    Open any existing package or create a new one.
  </Step>

  <Step>
    Add a database source or destination component

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-16.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=136964dbdf8c59c6b66fe4c07bca2707" alt="Adding a database source component to a package" width="1200" height="663" data-path="images/new-releases/image-16.webp" />
    </Frame>
  </Step>

  <Step>
    Open the component and specify any available connection

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-17.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=994c8b55e30b53509ed9aedc96161f10" alt="Connection dropdown in the database source component" width="2292" height="1528" data-path="images/new-releases/image-17.webp" />
    </Frame>
  </Step>

  <Step>
    Check the checkbox for “Set variable for connection”

    * It is not possible to change the variable name.
    * The value of the variable defaults to the connection ID from the connection dropdown.

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-18.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=471d7f104e5926cff646cec46e60422f" alt="Set variable for connection checkbox enabled on a source component" width="2290" height="1528" data-path="images/new-releases/image-18.webp" />
    </Frame>
  </Step>

  <Step>
    Configure “Source properties” and “Schema” sections, then “Save” the component.
  </Step>

  <Step>
    Configure the rest of the package as needed, then "Save" the package.
  </Step>
</Steps>

**Set variable for connection on workflow**

<Steps>
  <Step>
    Open any existing package or create a new one.
  </Step>

  <Step>
    Add a SQL task component

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-19.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=c2fe7507c4853c42a73aefa74af08265" alt="Adding a SQL task component to a workflow" width="748" height="662" data-path="images/new-releases/image-19.webp" />
    </Frame>
  </Step>

  <Step>
    Open the component and specify any available connection

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-20.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=5c726947c51da28b4380aecb50581297" alt="Connection dropdown in the SQL task component" width="1200" height="1453" data-path="images/new-releases/image-20.webp" />
    </Frame>
  </Step>

  <Step>
    Check the checkbox for “Set variable for connection”

    * It is not possible to change the variable name.
    * The value of the variable defaults to the connection ID from the connection dropdown.

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-21.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=bbcd0e3b4fdda190a012c74d460ee591" alt="Set variable for connection checkbox enabled on a SQL task" width="1200" height="760" data-path="images/new-releases/image-21.webp" />
    </Frame>
  </Step>

  <Step>
    Configure “Query” and “Execute task if” sections, then “Save” the component.
  </Step>

  <Step>
    Configure the rest of the workflow as needed, then "Save" the workflow.
  </Step>
</Steps>

**Find connection IDs**

You are ready to override the dynamic connection variable with a valid database connection ID, but first you need to find suitable connection IDs on the Connections page.

Make sure that you only use IDs of database connections, and that the type of database is the same as the type defined in the source / destination component. I.e. for a MySQL database, only specify the ID of another MySQL database connection.

<Frame>
  <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-22.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=18b718691b60e5c0eb544f0f01045a28" alt="Connections page showing connection IDs for each entry" width="1228" height="956" data-path="images/new-releases/image-22.webp" />
</Frame>

**Update connection variable value**

Replace the dynamic connection variable value with the ID(s) you identified from the connections page.

<Steps>
  <Step>
    When running a job, “Run job” in the package designer

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-23.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=6eac624ab2d39a11979b87c610445a78" alt="Run job button in the package designer" width="870" height="740" data-path="images/new-releases/image-23.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-24.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=be35c53660c41474e0222f90a8b8dbf9" alt="Run job dialog with connection variable override field" width="2288" height="1528" data-path="images/new-releases/image-24.webp" />
    </Frame>
  </Step>

  <Step>
    “Run job” on the Packages page

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-25.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=03fc44afcdc5f06a4e54dad2bdff8d75" alt="Run job option on the Packages page" width="2508" height="678" data-path="images/new-releases/image-25.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-26.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=bf049d849fbb8057495387dde6bab1b6" alt="Variable override in the run job dialog from the Packages page" width="2288" height="1524" data-path="images/new-releases/image-26.webp" />
    </Frame>
  </Step>

  <Step>
    “Run job” on the Jobs page

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-27.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=f545b15f82bc52f2a0f839c98b3c4f57" alt="Run job option on the Jobs page" width="2508" height="688" data-path="images/new-releases/image-27.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-28.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=70893c055d7edca39b1a031ecb7a30ee" alt="Package selection in the run job dialog from the Jobs page" width="2292" height="1528" data-path="images/new-releases/image-28.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-29.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=de333e88e1c9dc10f4d9e133b7b7861f" alt="Variable override in the run job dialog from the Jobs page" width="2292" height="1528" data-path="images/new-releases/image-29.webp" />
    </Frame>
  </Step>

  <Step>
    When creating a schedule, “Add package” in the “New schedule” window

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-30.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=0c5928edc2f4772de090da2d5fc72c3d" alt="New schedule window with Add package button" width="2508" height="688" data-path="images/new-releases/image-30.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-31.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=6e11e6f649e0d80e6b31b259dc0e5fff" alt="Package selection dropdown in the schedule dialog" width="2290" height="1526" data-path="images/new-releases/image-31.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-32.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=8ea883e0f247227159989dcf314c4e7c" alt="Connection variable settings within the schedule package form" width="2286" height="1520" data-path="images/new-releases/image-32.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-33.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=b053fd21cde06dc11ea4992edde65d3b" alt="Saving variable overrides in the schedule configuration" width="2290" height="1530" data-path="images/new-releases/image-33.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-34.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=3a4890bf0b5e756a92c6f96eed5b4930" alt="Completed schedule with dynamic connection variable applied" width="2290" height="1528" data-path="images/new-releases/image-34.webp" />
    </Frame>
  </Step>

  <Step>
    When creating a Workflow package, “Run package” task window

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-35.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=e3ca9fc4ca244347a6e91ddb7abcc123" alt="Run package task in a workflow with dynamic connection" width="810" height="1004" data-path="images/new-releases/image-35.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-36.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=93b8cd384ffd2365f65aac0d1c86aec9" alt="Package selection in the workflow run package task" width="2288" height="1522" data-path="images/new-releases/image-36.webp" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/integrateio/fpWCvrjvoCDC-WOb/images/new-releases/image-37.webp?fit=max&auto=format&n=fpWCvrjvoCDC-WOb&q=85&s=7bd7b7c73ba927289938f5eba11a98ed" alt="Variable override in the workflow run package task" width="2288" height="1522" data-path="images/new-releases/image-37.webp" />
    </Frame>
  </Step>
</Steps>

<Warning>
  **Limitations**

  * Dynamic connection is available only on database source, database destination components and execute SQL task component on workflow.
  * The connection in the variable must be the same type as the original input connection\
    For example, when selecting a MySQL connection from the dropdown in the source component, the dynamic connection variable specified at runtime must also be a MySQL connection
  * The schema of the dynamic connection must be the same as the original input connection's (selected in the source / destination component)
</Warning>
