Skip to main content
Version: 1.27 (Current)

Add Connector

Audience: Citizen Developer

Skill Prerequisites: Working with Connectors, Tokens, JSON

This action allows you to securely add a new entry (credential or connector) to the Credential Store for later usage, referencing it by connector or group and capturing the new entry’s ID in a named token for downstream actions. It is especially relevant when storing secrets, API keys, or other sensitive connection information in a secure and structured way.

Typical Use Cases

  • Store new API credentials securely for use with connector actions.
  • Save third-party integration details at runtime for dynamic access.
  • Capture and reference the identifier of a newly added connector for later updates or querying.
  • Enhance automation scenarios where secrets must be generated and securely persisted via workflow.

Input Parameter Reference

ParameterDescriptionSupports TokensDefaultRequired
Connector TypeThe type of connector/credential being saved. Dynamic list based on available connector types.Yesempty stringYes
Connector NameThe display name for the entry.Yesempty stringYes
PropertiesList of additional name-value pairs to store as connector details/properties.Yesempty setNo
Dynamic PropertiesJSON-formatted object of property values (overrides properties with the same name as in above Properties field).Yesempty stringNo
EntryId Token NameToken name to save the EntryId returned after the entry is created. Access via [YourTokenName].Yesempty stringNo

Parameter Details

  • Connector Type: Select (or use a token/expression) for the type of credential. E.g., API Key, OAuth, etc. Required.
  • Connector Name: Human-readable display name for this entry.
  • Properties: Add one or more property name/value pairs as additional data for the connector type (can be used multiple times for multi-field credentials).
  • Dynamic Properties: If provided, this JSON object should contain any property name/value pairs to add/override above. E.g. { "ApiKey": "123", "Region": "us-east" }
  • EntryId Token Name: Give a token name to capture the resulting entry’s ID, for downstream lookup or linking.

Output Parameters Reference

ParameterDescription
EntryId Token NameThe token in which the newly created connector's unique ID will be stored for further use.

Security

Sensitive information: Keep in mind that credentials and secrets stored using this action are persisted in the Credential Store, encrypted at rest—but always ensure only trusted processes and users can initiate such actions. Avoid exposing credential-entry IDs or their contents to unauthenticated interfaces.

How property merging works

If you fill in both Properties (the name/value grid) and Dynamic Properties (JSON), any property defined in Dynamic Properties will override any property with the same name set in the grid.

Example:

  • Properties grid: APIKey = valueA, Region = us
  • Dynamic Properties: { "APIKey": "valueB", "Other": "xyz" }

Result:

  • APIKey = valueB
  • Region = us
  • Other = xyz

Examples

1. Add a new API Key Credential

This creates a connector entry named "Stripe Integration" in the Credential Store, provides an API key, and stores the entry's ID in token [StripeCredentialId].

{
"ActionType": "CredStore.AddConnectorEntry",
"Parameters": {
"TypeName": "Custom.APIKey",
"EntryName": "Stripe Integration",
"Properties": [
{
"PropertyName": "APIKey",
"PropertyValue": "sk_live_***********************"
}
],
"EntryIdTokenName": "StripeCredentialId"
}
}

2. Add OAuth connector with extra fields from JSON and dynamic tokenization

Here, Properties sets basics, but Dynamic Properties (JSON) overrides/adds detail fields. The [User:UserId] token is used in the connector name.

{
"ActionType": "CredStore.AddConnectorEntry",
"Parameters": {
"TypeName": "OAuth",
"EntryName": "AppAuth-[User:UserId]",
"Properties": [
{
"PropertyName": "ClientId",
"PropertyValue": "client123"
},
{
"PropertyName": "ClientSecret",
"PropertyValue": "secret456"
}
],
"PropertiesJson": "{ \"Scope\": \"read_write\", \"ClientSecret\": \"tokenOverride\" }",
"EntryIdTokenName": "OAuthEntryId"
}
}

In the above: ClientSecret in JSON will replace value set in the grid.

3. Add with only JSON Properties

You can skip the Properties grid and use only JSON.

{
"ActionType": "CredStore.AddConnectorEntry",
"Parameters": {
"TypeName": "BasicAuth",
"EntryName": "Test User Auth",
"PropertiesJson": "{ \"Username\": \"tester\", \"Password\": \"supersecure\" }",
"EntryIdTokenName": "BasicAuthId"
}
}

Best Practices & Tips

  • Store the entry ID into a sensible token for further workflow steps (e.g., [MyApiCredentialId]).
  • Use expressions and tokens to generate entry names uniquely (e.g., include user IDs or timestamps if needed).
  • Prefer using a JSON object if you have many dynamic or computed fields, for easier maintenance and clarity.
  • Remember: sensitive data (keys, secrets, etc) only goes in the Credential Store, not in logs or plain tokens.

Troubleshooting

  • Entry not saved/Invalid GroupId? Ensure the connector group/type exists and the user has permission.
  • Properties missing? Double-check for naming mismatches between grid and JSON.
  • Token not set? The EntryId Token Name must be provided and referenced without square brackets for storage (e.g., StripeCredentialId, not [StripeCredentialId], but referenced as [StripeCredentialId] later).