Platform

Developers

Resources

Introducing Paragraph

Build native integrations for your app 7x faster with Paragon's Embedded iPaaS — in code.

Trusted by 100+ B2B SaaS engineering teams

Trusted by 100+ fast-growing B2B SaaS companies

An Embedded iPaaS at your fingertips

White-labeled, native

Integrations built in Paragon feel like native product features of your application to your users.

Fully managed auth

Never worry about building OAuth token refresh - Paragon provides fully managed auth on all integrations.

100+ Integration connectors

Avoid 3rd party APIs with abstractions (triggers and actions) that are surfaced as Types in Paragraph

Monitoring & observability

Monitor usage and easily debug errors with across all of your users’ integration activity.

Common use cases

Workflows are scalable, durable background jobs that support bi-directional sync, ETL, and automation use cases, deployed to a runtime purpose-built for high-volume integrations.

Sync

Extract

Automate

Salesforce

Contact created and/or updated

HTTP Request

Post contact to your API

// Pull Contact Updates from Salesforce

const triggerStep = new SalesforceTrigger.RecordUpdated(

{

recordType: 'Contact',

objectMapping: `${context.getInput(this.inputs.field_mapping).field}`,

},

);


const updateApiStep = new RequestStep({

description: 'Update API',

url: `https://api.yourapp.io/contacts`,

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

contact: `${triggerStep.output.result}`,

user_id: `${connectUser.userId}`

},

});

Sync

Extract

Automate

Salesforce

Contact created and/or updated

HTTP Request

Post contact to your API

// Pull Contact Updates from Salesforce

const triggerStep = new SalesforceTrigger.RecordUpdated(

{

recordType: 'Contact',

objectMapping: `${context.getInput(this.inputs.field_mapping).field}`,

},

);


const updateApiStep = new RequestStep({

description: 'Update API',

url: `https://api.yourapp.io/contacts`,

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

contact: `${triggerStep.output.result}`,

user_id: `${connectUser.userId}`

},

});

Sync

Extract

Automate

Salesforce

Contact created and/or updated

HTTP Request

Post contact to your API

// Pull Contact Updates from Salesforce

const triggerStep = new SalesforceTrigger.RecordUpdated(

{

recordType: 'Contact',

objectMapping: `${context.getInput(this.inputs.field_mapping).field}`,

},

);


const updateApiStep = new RequestStep({

description: 'Update API',

url: `https://api.yourapp.io/contacts`,

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

contact: `${triggerStep.output.result}`,

user_id: `${connectUser.userId}`

},

});

Sync

Extract

Automate

Salesforce

Contact created and/or updated

HTTP Request

Post contact to your API

// Pull Contact Updates from Salesforce

const triggerStep = new SalesforceTrigger.RecordUpdated(

{

recordType: 'Contact',

objectMapping: `${context.getInput(this.inputs.field_mapping).field}`,

},

);


const updateApiStep = new RequestStep({

description: 'Update API',

url: `https://api.yourapp.io/contacts`,

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

contact: `${triggerStep.output.result}`,

user_id: `${connectUser.userId}`

},

});

With all the benefits of code

Paragraph provides you all the benefits of a managed integration platform, without the limitations of a GUI. This means that developers can now:

Re-use code across integrations and workflows

Collaborate across teams with branching

Version control and code review integrations in Git

Development lifecycle with Paragraph

Development lifecycle with Paragraph

Development lifecycle with Paragraph

Paragraph provides you all the benefits of a managed integration platform, without the limitations of a GUI. This means that developers can now:

Export integrations to code.
Install Paragraph and export Create a Paragraph project from an existing Paragon project.
Make changes.
Make changesdUpdate existing integrations or build new integrations through the CLI and our typescript framework in your local dev environment.
Merge, Build, and Commit.
Merge, Build, and Commit. Use the CLI to validate and push changes up to Paragon, or commit the changes to your git repository.

Deployment and monitoring

Ship updates to production safely and reliably, and easily monitor integration activity and issues from the dashboard.

Create a release.
Create a release. Test, review, and deploy integrations confidently with Paragon’s release pipeline that highlights all changes and their potential impact on users.
Monitor and debug.
Monitor and debug. Errors are inevitable when there are dependencies on 3rd party APIs. Stream logs to your observability stack like DataDog, Sentry, and New Relic, and easily trace individual workflow executions.

Powered by a scalable workflow engine

Workflows run in an environment that is built to handle high event volumes, keep user credentials secure and up-to-date, and provide observability and replay features for every request.

100M

Requests Executed Per Day

100M

Requests Executed Per Day

100M

Requests Executed Per Day

Why engineers love Paragon

Over 100 engineering teams rely on Paragon
as the backbone for their apps’ integrations.

“Paragon is really easy to use, easy to understand, and has solid documentation for you to follow. Their team has been incredible at supporting us and helping us scale.”

Chris Lu

Co-founder and CTO, Copy.ai

"Well, after working with Paragraph, it's quite hard to go back to the UI … I can just open my workspace in a code editor instead."

Andrii Khyzhniak

Sr. Backend Engineer, Dataroom

  • "Well, after working with Paragraph, it's quite hard to go back to the UI … I can just open my workspace in a code editor instead."

    Andrii Khyzhniak

    Sr. Backend Engineer, Dataroom

  • "Paragraph is great for ensuring Paragon has exactly what we want set up. Very easy to duplicate functionality across integration workflows."

    Michael Robinson

    Full Stack Software Engineer, Bugherd

  • “Paragon is really easy to use, easy to understand, and has solid documentation for you to follow. Their team has been incredible at supporting us and helping us scale.”

    Chris Lu

    Co Founder and CTO, Copy.ai

  • "This is something that has been missing for us when it comes to working with Tray - workflows in "boxes" is fun but not for developers. The fact that we'll be able to use our libraries is going to be way better."

    Mathieu Belanger

    Lead Software Engineer, MaintainX

Built for Enterprise scale

Serverless infrastructure

On-premise
deployment

SOC 2
Type II

Enterprise scale
& security

SSO & Role based access controls

Ready to get started?

Join 100+ SaaS companies that are scaling their integration roadmaps with Paragon.

Ready to get started?

Join 100+ SaaS companies that are scaling their integration roadmaps with Paragon.

Ready to get started?

Join 100+ SaaS companies that are scaling their integration roadmaps with Paragon.

Ready to get started?

Join 100+ SaaS companies that are scaling their integration roadmaps with Paragon.