System Architecture

Fusebit is a code-first integration platform that enables application developers to easily add integrations to their solutions.

Our product enables developers like you to quickly add integrations to an application using powerful API building blocks. It takes away the pain of developing against many disparate APIs while maintaining the flexibility and familiarity of a code-first platform. Just like Stripe solves payments for application developers, Fusebit solves integrations.

The Problem

In today's world of inter-connected SaaS, no single product exists as an island. Most web applications need to connect to adjacent solutions to enable their customers' end-to-end workflows. For example, a task management or productivity product will likely need to inform its users of changes and items due via Slack. A payroll product might need to synchronize the employee list with an HR system. Most developers today implement these integrations manually in their application backend code, which requires a substantial engineering investment and can cause a maintenance burden down the line.


A subset of the challenges we hear about:

  • Each third-party implements authentication slightly differently
  • The developers takes on the burden of managing and renewing authentication tokens for each user of their system
  • Scalability can be a challenge and potentially destabilize the core product
  • Enabling the right level of customization by end-users requires substantial investment
  • Health monitoring is frequently overlooked, leading to frequent outages

Fusebit addresses these challenges in a single embeddable platform.

Fusebit's Solution

Fusebit's platform sits in between your application and the third-parties you seek to integrate with, and lets you externalize and centralize the integration burden, while implementing scalability and maintainability best practices along the way


Integrations and Connectors

Inside Fusebit's system, you will notice two core concepts: Integrations and Connectors.

  • Integrations are projects you create in Fusebit for a specific integration task, whether that involves one or more integration targets (usually the former). An example might be an Integration that listens for changes in your system and publishes them to Slack.
  • Connectors are system-level entities in Fusebit that manage the all communication to a third-party on behalf of your application. An Integration can reference one or more Connectors, although the former is most common.

Installation Lifecycle

When a user installs an integration, an Install is created in Fusebit's system to capture any parameters associated with that install. Also, if it is the first time that this specific third-party system user is authenticating to your Integration, an Identity will be created in the Connector associated with that Integration to track the user. This allows you to potentially have multiple Integrations using the same Connector and saving your users from having to log in repeatedly.