Understanding Credentials

Description

An integration flow runs on behalf of a person or an organization to synchronize data between multiple applications. Each step of an integration flow is accessing a particular application, for example through an API, to retrieve, store or update some data. Usually an API requires a client to authenticate before the data can be accessed. Each step of an integration flow needs a credential. Simply put, a credential is an object holding the required information to authenticate with an API. Let’s have a look at a couple of credential objects:

  • API Key: if the integration component is sending requests to a REST API using API key for authorization, then a credential is a simple object holding the API key.
  • OAuth2: In case of a component authorizing through OAuth2, the credential object holds multiple values, such as access_key, refresh_key, scope, etc.
  • Database credentials: If a component goes directly into an application’s database, the credential object holds database host url, port, database name, username, password.

As you can see in the examples above, a credential is specific to the API it is used to authenticate with. This means a credential for a Salesforce component will not work with a credential for a Database component or any other API.

Please note that you can manage credential not only through the UI, but also using the corresponding API endpoints. All necessary information can be found in our API documentation.

Creating a credential for a flow

When creating a flow an credential must be chosen. You can either chose an existing one or create a new one. The following screenshot demonstrates how the credential is created for the Petstore API component.

To create a credential, open the Navigational Menu and go to Credentials. Then click Create New Credential button:

Petstore API - Creating a credential for a flow

You will need to fill in data for two input fields:

  • Account name - an optional name for this credential
  • API key - an API key to authenticate with the Petstore API. You can use the secret API key to try out this API.

Once a credential is saved, it will be linked with the current step of the flow. It can be also reused in other steps of the same flow or other flows using same component.

Credentials are structured by components. The green number on a component icon tells you how many credentials exist for that component.

Please note that before saving a credential, the elastic.io platform performs a verification by sending a “dry” request to the particular API. This allows us to avoid saving invalid credentials caused by typos, invalidated API keys, etc.

A new credential can be added by pressing the Add New Credential button that you can see at the end of the video above. An existing credential can also be edited or deleted. This is accomplished by clicking the Edit or Delete button on an existing credential.

Please note that it is not possible to delete a credential used by an active integration flow as the flow would become broken. If you try to delete such a credential, a corresponding error message will be displayed. Please delete these flow first or reconfigure them to use another credentials.