Define integrations

To start defining integrations with Ampersand, create a new directory called amp, which will hold your amp.yaml file and any code files for custom transform functions that amp.yaml references. (See Transformation Functions.) All your integrations should be defined in the same amp.yaml file. For example, your directory structure might look like this:


The high-level keys of amp.yaml are the following:

  • specVersion: the version of the amp.yaml spec used, the current version is 0.1.0
  • appName: the name of your application, this will be displayed to your users in the UI components
  • integrations: the list of integrations that your users can install
  • destinations: if any of your integrations are reading data from your customer's SaaS into your application, destinations define where Ampersand should send the data. See Destinations.

The high-level keys of an integration are:

  • name: the name of the integration, only alphanumeric characters and dashes are allowed.
  • displayName:the display name of the integration, this is visible to your users in the embeddable UI components and to your team in the Management Console.
  • api: the API that this integration connects to. See Supported APIs
  • actions: each integration is composed of:

Putting all of this together, the basic structure of an amp.yaml file looks like the following:

specVersion: 0.1.0
appName: MailMonkey

-name: readSalesforceAccounts
 displayName: Read Accounts from Salesforce
 api: salesforce
-name: watchOppStageChange
 displayName: Subscribe to Stage Changes in Salesforce Opportunities
 api: salesforce
-name: readHubspotAccounts
 displayName: Read Accounts from Hubspot
 api: hubspot


What’s Next

Learn more about defining the different actions that make up an integration: