Integration-Specific Connections
Integration-specific connections are the "classic" way of adding connections to an integration. They were first introduced when we developed connections and are handy when you have a connection that is used by a single integration, and you want your customers to enter their connection information (or go through the OAuth 2.0 flow).
Adding a connection to an integration
When you add a step to your integration that requires a connection, that step will be bound to a connection config variable that represents that connection. If a connection config variable for that component doesn't exist yet, a new one will be created. One connection config variable can be used for multiple steps (so, all of your Amazon S3 steps can reference a single connection config variable).

The config variable that is referenced will contain the information necessary for the step to connect to the outside app or service. You can provide default values for the connection's input fields, or you can choose to have customers enter their own values when they deploy an instance of the integration.

You can control the visibility of each field of a connection config variable by clicking the icon. You can choose to show the field to customer users, make it settable programmatically in embedded, or hide it entirely from customers.
Connection templates
A Connection Template allows you to pre-fill a connection's input fields with default values. A template can be referenced by an integration you build, or by an integration your customers build using embedded workflow builder. Connection templates are useful for a few reasons:
- If several of your integrations require the same connection input fields (for example, an OAuth 2.0 client ID and secret), you can create a template that contains those fields and reference it in each integration.
- If you want to provide a template for your customers to use in their own integrations, you can create a template and share it with them. They can then reference the template in their own integrations, but will not be able to view or change the template's input fields (so, they can't access your client secret).
- If you store your integrations' YAML definitions in source control, your YAML will be cleaner if you reference a template instead of including the connection's input fields directly in the YAML. By referencing a template that contains a client ID and client secret, you can avoid committing sensitive information to source control.
If your goal is to pre-fill some connection values for integration builders (your own team, or customer embedded workflow builders), connection templates make sense. If you're interested in establishing a connection that is reusable, check out integration-agnostic connections instead.
Creating a connection template
To create a connection template, first click on your organization's name in the bottom left corner of the screen. Then, open the Connections tab.
Click +Add Connection to create a new connection template.

Select the connector to add a connection template for, and then select Connection Template for the Connection Type.
Give your template a name, and then add input fields that you would like to pre-fill to the template. Fields that you omit will be configurable by an integration builder (either an organization member or a customer using embedded designer).

A connection template's input values can be updated until a version of an integration that uses the template has been published. If an integration that uses the template has been published, the template's input values cannot be updated.
To update a connection template's input values, create a new connection template with your updated values and update your integration to reference the new connection template.
Your deployed instances (perhaps on v10
of your integration) will continue to reference the old connection template, but new instances (perhaps on v11
of your integration) will reference the new connection template and its values.
Referencing a connection template in an low-code integration
To reference a connection template in an integration, add a new connection to the integration. Then, select the template you created from the Connection Template dropdown menu.
You will now only see fields that were not included in the template.

Referencing a connection template in a code-native integration
Connection templates can be used if you reference an existing component's connection in your code-native integration.
You can do this by adding a template
property to your connection reference.
connectionConfigVar({
stableKey: "my-salesforce-connection",
dataType: "connection",
connection: {
component: "salesforce",
key: "oauth2",
values: {},
template: "My Salesforce Connection",
},
});