Common B2B SaaS Integration Patterns and When to Use Them

Based on a latest survey, the variety of SaaS corporations has grown to more than 25,000 worldwide. Usually, companies that subscribe to SaaS merchandise work with a number of SaaS distributors and anticipate that the apps will combine with one another. To deal with this, some SaaS corporations construct bespoke integrations into their apps, whereas others go together with an embedded integration platform to handle their prospects’ integration wants.

Whatever the method you take for integrations along with your app, you will discover that almost all integrations ought to match into just a few frequent patterns. Figuring out these patterns will assist whether or not you end up within the midst of an integration mission, simply getting began with constructing out your API, or within the early days of planning a brand new SaaS app.

On this submit, we’ll briefly look at these patterns and be taught the advantages of every.



Widespread integration patterns

  • Occasion-driven – An occasion happens in an app, which causes knowledge to be despatched to a different app. The occasion could also be in your app or the third-party app with which you might be integrating. That is the most typical kind of integration between SaaS apps.
  • Scheduled – An integration that runs on an everyday schedule (each minute, each hour, each day, and many others.) These integrations embody exports (comparable to recurring stories) and imports (comparable to polling an API to request knowledge for import to your app). Scheduled integrations are sometimes used between a SaaS app and non-SaaS software.
  • Synchronous – One app makes a request, then waits for the combination to finish and reply with a solution. Due to timing, this may be probably the most tough kind of integration to implement efficiently. It’s not used as usually because the event-driven and scheduled integration patterns.
  • Hybrid – This one is just not a lot a sample as a mix of different patterns.



Occasion-driven integrations

That is in all probability the most typical kind of integration for SaaS apps. When an occasion happens in a supply system (for instance, a buyer file is up to date in CRM or an bill is paid in POS), knowledge in regards to the occasion is distributed to a vacation spot system.

This knowledge is mostly despatched through a webhook. A webhook is an event-triggered request to an app (the third-party app for an import integration or your app for an export integration). The payload is the info despatched by the webhook to the vacation spot system.

If the supply app is just not utilizing an API with webhooks, it might be utilizing a distinct kind of pub/sub system comparable to Amazon SNS, Apache Kafka, and even e-mail. In these instances, the vacation spot app subscribes to what these techniques present.

For an amazing instance of an event-driven API, take into account GitHub, which has a variety of events that can trigger a webhook. GitHub additionally offers the form of the payload despatched through every webhook. Whenever you combine with GitHub, you will create endpoints to receive those payloads.

In case you are interested by guaranteeing that knowledge is transmitted speedily, that your event-driven API is reusable for a number of integrations, and that third-party builders have a simple path to constructing integrations along with your app, you’ll positively wish to arrange your app and API to help webhooks.

Within the following sections, we’ll have a look at varied event-driven integrations.



Occasion-driven import integrations

An event-driven import integration is an import of information from the third-party app to your app based mostly on a number of occasions within the third-party app. The combination might have a single payload or a number of payloads. Inside the integration, a payload might transfer by way of a single sequence of actions (a movement), or it would undergo a number of flows or branching logic to be filtered or in any other case remodeled earlier than your app consumes the info.

The important thing to an event-driven integration for import is that the third-party app publishes the info (through webhooks or one other pub/sub system), and your app subscribes to that knowledge.



Occasion-driven export integrations

An event-driven export integration is an export of information out of your app to a third-party app based mostly on a number of occasions in your app. As with an import integration, you might be dealing with a single payload or a number of payloads. And the logic could also be easy (a single movement) or complicated (a number of flows).

The important thing to an event-driven integration for export is that your app publishes the info (through webhooks or one other pub/sub system), and the third-party app subscribes to that knowledge.



Occasion-driven two-way integrations

An event-driven two-way integration melds the import and export capabilities right into a single integration. The import portion may have its logic, and the export portion may have separate logic, however every thing is contained inside a single integration. Two-way integrations might be break up into separate import and export integrations, however they’re often mixed to supply simple deployment and help processes.

In an event-driven two-way integration, each your app and the third-party app are publishers and subscribers.



Scheduled integrations

When the system it is advisable switch knowledge from doesn’t have webhooks or one other pub/sub system to which you’ll be able to subscribe, it is advisable use a scheduled integration. A scheduled integration will be both import or export. As a substitute of being triggered when the combination receives a notification, a scheduled integration is triggered at a particular time or time interval. Your integration can exit and question for knowledge, after which ship that knowledge off to a different app, an information storage system, or a messaging system like Slack, e-mail or SMS.

The information could also be solely a minute or two outdated for a scheduled integration that recurs regularly, nevertheless it is not going to be as contemporary as knowledge from an event-driven integration.

Within the following sections, we’ll have a look at varied scheduled integrations.



Scheduled knowledge import integration

You will want a scheduled integration to import knowledge from a third-party API that doesn’t have webhooks or one other pub/sub system. On this case, the combination should wrap the third-party API endpoints containing the info the combination will question. The API then processes the question and returns the requested payload.



Scheduled file import integration

Some third-party apps could also be configured with file export capabilities as a substitute of an API. This state of affairs is extra possible with non-SaaS (legacy) techniques. On this case, the app might write out knowledge as PDF, XML, CSV, or one other file kind to an exterior knowledge supply comparable to Dropbox or SFTP. To import this knowledge, you will construct an integration that checks the placement(s) in keeping with an everyday schedule to see if there are new recordsdata to course of.

When there may be new knowledge inside the location (for instance, new XML recordsdata in a Dropbox folder), your integration will loop over every file, course of the recordsdata, after which transfer or delete the processed recordsdata. As with different scheduled integrations, this nonetheless is just not near-real-time however will be present inside a couple of minutes of the file(s) being positioned within the exterior knowledge supply.



Scheduled file export integration

You will use any such integration when it is advisable generate and ship an everyday report back to your prospects. You arrange an integration the place you might be both querying your API (in your app) or a third-party API for particular knowledge.

As soon as the info has been returned, your integration generates a file with the info within the obligatory format (PDF, XML, CSV, and many others.) Lastly, this file is packaged up and despatched off to its vacation spot (which might vary from a filesystem to e-mail or SMS).



Synchronous integrations

A synchronous integration could also be what you want if in case you have knowledge from a third-party app that you have to have proper now. An integration of this sort calls an integration URL after which waits for a response.

The synchronous integration ought to operate effectively if it really works shortly and has little to no lag between the decision and the response. Nonetheless, if the combination takes some time to run (a lot knowledge to course of, the third-party app is gradual in fulfilling requests, and many others.), the combination turns into vulnerable to community disconnects and timeouts.

Synchronous integrations are helpful when the order of operations issues. For instance, in case your gross sales system receives an order and also you ship knowledge to a cost processor integration, you in all probability wish to look forward to a response that the cost was posted efficiently earlier than you ship knowledge to your order achievement integration. As you construct an integration for these situations, you’ll must determine if ready for a response is best for you or for those who ought to have the cost processing system “name you again” when the cost is efficiently run asynchronously.



Hybrid integrations

Hybrid integrations are some mixture of different integration sorts. For instance, suppose that your app helps webhooks, however the third-party app you might be working with solely has an API with no webhooks. Because of this, you would possibly construct a hybrid integration the place you may have an event-driven export out of your app however are operating a scheduled knowledge import from the third-party app. As a substitute of setting this up as two separate integrations, you’d have the ability to mix them in the identical integration with distinct flows and logic.



Conclusion

Whereas integrations could also be outlined merely as software program that transmits knowledge from one system to a different, particulars can fluctuate significantly from one integration to the subsequent. When planning and constructing integrations between your app and your buyer’s third-party apps, it is important to think about integration patterns, guaranteeing that you just use one of the best sample for every integration state of affairs.

Add a Comment

Your email address will not be published. Required fields are marked *