Skip to main content

Who’s who

Before diving into the concepts below, it helps to know the three actors in an Ampersand workflow:
  • You (the builder) — the software company using Ampersand to add integrations to your product.
  • Your customers — the businesses or users of your product who want it to connect to the SaaS tools they already use.
  • Providers — the third-party SaaS tools (Salesforce, HubSpot, Slack, etc.) that your customers hold accounts with and that your product needs to read from or write to.
In short: you define one integration per provider in your amp.yaml, and each customer who connects their SaaS account through your product gets their own installation of that integration.

Integration

An integration defines how your application will interact with a third party SaaS tool. You will have a single integration for all of your customers that are connecting your application with a particular SaaS product. For example, you might have an integration called mySalesforceIntegration. Salesforce is the provider that we are integrating with. You create an integration by defining it in a manifest file and then deploying it using the amp CLI. (See CLI Overview). An installation is specific to a single customer that sets up one of your integrations to connect with their SaaS instance. For example, mySalesforceIntegration might have 30 installations - one for each of your customers that have connected their Salesforce instance with your application.

Installation

An installation is an instance of an integration, for a particular customer. It is created: An installation captures the following information:
  • the credentials for connecting to the customer’s SaaS instance. (Ampersand supports OAuth, Basic Auth, and API Key based authentication.) We call this the connection.
  • a customer’s preference for which objects and fields they want your application to read or write, and fields they’ve mapped. We call this the config.

For other terminology, refer to Terminology.