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:

amp/
  amp.yaml
  custom-function-1.ts
  custom-function-2.ts

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

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

destinations:
 ...

What’s Next

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