Skip to main content

Integrations Overview

An integration is a series of steps that execute one after another in series. Each step runs an action - a small bit of code designed to perform a specific task. Actions can be things like "HTTP - GET" to fetch the contents of a webpage from the internet, or "Amazon S3 - Put Object" to save a file to Amazon S3. You can use a combination of actions from common built-in components and your own custom components to build an integration.

An integration is started when its trigger fires. Triggers can either follow a schedule, or can be invoked via a webhook URL.

Integrations should be developed to be configuration-driven, so they can be deployed to multiple customers with potentially different configurations. That is accomplished by leveraging config variables, and have configuring steps to reference those variables.

Many integrations have a single flow. That is, they have a single trigger that fires, and a single set of steps that are executed one after another. Prismatic also supports grouping multiple related flows together into a single deployable integration. For example, if you have a third-party service (Acme ERP) that sends data via a variety of webhooks to your integrations, it probably makes sense to have a single Acme Corp integration that you or your customers deploy that is made up of several logical flows. Each flow has its own trigger, though they all share config variables.

When an integration is completed, it can be published. Customers can then enable the integration for themselves through the integration marketplace, or your team members can deploy an instance of the integration on the customer's behalf. Regardless of who enables an instance of the integration - your team member or your customer - the person deploying the instance configures the instance with customer-specific config variables.

We recommend that you follow our Getting Started tutorial to first acquaint yourself with integration development and deployment.

Creating a New Integration#

To create a new integration in the web app, click Integrations from the left-side menu, and then click the + Integration button in the upper-right. You will be prompted to give your integration a name and description, and can optionally categorize your integration.

Add integration in Prismatic app

Next, you'll be asked to select a trigger for your integration. This is what will cause your integration to run, and you can change your trigger at any time.

Select integration trigger in Prismatic app

For more information: Building Integrations, Testing Integrations

Assigning an Icon to an Integration#

Integrations can be assigned icons, to make them more presentable in the integration marketplace. To assign an icon to an integration from the integration designer by clicking the icon to the left of your integration's name:

Add icon to integration in Prismatic app

Square PNG images that are at least 400 pixels wide look best as integration icons.

Integration Labels#

Labels help you keep your integrations organized. You can assign any number of labels to an integration from within the integration designer by opening the DETAILS menu:

Assign labels to integration in Prismatic app

You can search for integrations by label. Note: for consistency, labels are always lower-cased.

If you would like to update labels on previously published versions of your integration, open the VERSION HISTORY drawer and select a previously published version of your integration. Add labels from the DETAILS menu, and click Save.

Update labels for prior published versions of integration in Prismatic app

Labels applied to published integration versions appear in the version dropdown menu on an instance configuration page.

Versions and labels for instance configuration in Prismatic app

Listing and Searching Integrations#

To view all of the integrations your organization has created, click the Integrations link on the left-hand sidebar.

All integrations for organization in Prismatic app

You can search for specific integrations by name by typing a part of the name in the upper search bar, or you can search by description, category, labels or marketplace availability by clicking the Filter button to the right of the search bar.

Filter integrations in Prismatic app

Categorizing Integrations#

Integrations can be assigned a "category" for easy sorting and filtering. For example, you might have a dozen "ERP" integrations, a few "Inventory Management" integrations, etc. Assigning each integration a category allows your team, as well as your customers in the integration marketplace to view integrations sorted by category:

List of integrations by category in Prismatic app

You can set a category for an integration by clicking the DETAILS dropdown button on the top-left of the integration designer:

Set category for integration in Prismatic app

Publishing An Integration#

By publishing an integration, you mark it ready for deployment to customers.

To publish an integration, first open the VERSION HISTORY tab on the left side of the page. If you have unpublished changes you'll see an Unpublished Draft listed among the integration's versions. Type a note about the changes you made to the integration, and then click SAVE & PUBLISH to release a new version of your integration:

Publish integration in Prismatic app

Integration versions can be marked Available or Unavailable by toggling the blue toggles to the right of integration versions. Marking an integration version Unavailable prevents that version from being deployed as an instance to a customer.

Deploying An Integration#

Once an integration has been published, an instance of the integration can be configured and deployed to a customer. See the instances article for information on deploying instances of integrations.

You can also enable your customers to deploy integrations themselves, using Prismatic's integration marketplace.

View Deployed Instances#

To view all instances that have been deployed, click the Instances tab from the integration designer screen. This screen will display customers to which this integration has been deployed.

List of deployed instances in Prismatic app

The version of this integration that is deployed to each customer is shown within this drawer.

Forking An Integration#

Sometimes you will want to make a copy of an integration and modify the copy. This is called forking an integration.

From the integration designer, click the

icon on the bottom left of the page. Then, click Fork Integrations. Give your forked integration a new name and description and then click ADD.

Deleting an Integration#

Deleting an integration will delete all instances of that integration

Use caution when deleting an integration. Deletion of an integration also deletes all deployed instances of that integration.

From the integration designer, click the

icon on the bottom left of the page. Click the Delete Integration button on the bottom of the page and confirm by clicking REMOVE INTEGRATION.

Delete integration in Prismatic app

Integration Attachments#

Your team can save and share integration-related documents alongside an integration by clicking on the Attachments tab from the integration designer page.

Add attachments to integration in Prismatic app

Internal Integration Documentation#

It's helpful to share documentation, specs and notes about an integration with your team members. You can add internal (non-customer-facing) notes and documentation to an integration by clicking the Integration Documentation button on the right-hand side of the integration designer. This will open up a drawer on the right-hand side of the designer.

The drawer has two tabs: Edit and Preview.

In the Edit tab you can type Markdown syntax, including external links, code snippets and externally-hosted images:

Add internal integration documentation in Prismatic app

In the Preview tab you can view the rendered markdown:

Preview internal integration documentation in Prismatic app

YAML Definition#

Behind the scenes, integrations are represented in YAML. You can view the YAML that defines your integration's flows, steps, inputs, connections and config variables by clicking Manage at the bottom-left of the integration designer, and selecting Save/Load.

YAML for integration in Prismatic app
Tip: Spot changes to integrations

The YAML present in this drawer corresponds to the integration that is currently being displayed. You can view the YAML of a previous version of the integration by first opening the VERSION HISTORY drawer and selecting an older integration version.

If you want to spot differences between an older version of your integration and the current version, you can compare the YAML definition of the older version with the YAML definition of the current version using your favorite diff tool (VSCode has a great built-in diff tool).

Exporting an Integration#

Once you've opened the Save/Load drawer in the integration designer, you can click Copy to clipboard to copy the integration's YAML definition into your clipboard, so you can paste it into an editor of your choice. You can also click Save to file to download a copy of your integration.

If you are using Prismatic's command line tool, prism, you can use the integrations:export subcommand to similarly export the YAML definition of your integration.

Importing an Integration#

If you have a YAML definition of your integration saved in your clipboard, you can click Load from clipboard to replace your current integration with the definition that you have copied. Or, you can save a modified YAML file to your computer, and load the YAML definition by clicking Load from file and selecting the file you saved.

If you are using prism, you can use the integrations:import subcommand to import a YAML definition of your integration.