Define integration logic
with Workflows

Build durable integrations for your product in code with Paragon's Typescript framework, or using the visual workflow builder.

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 or DB

// 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 or DB

// 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 or DB

// 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 or DB

// 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}`

},

});

Focus on the business “logic” not the plumbing

Focus on the business “logic” not the plumbing

Get the tools you need to implement any integration business logic.

Get the tools you need to implement any integration business logic.

Trigger

Workflows periodically manage webhooks or periodic sync jobs for integration events. Choose a type of data to listen for and customize where it goes.

Trigger

Workflows periodically manage webhooks or periodic sync jobs for integration events. Choose a type of data to listen for and customize where it goes.

Trigger

Workflows periodically manage webhooks or periodic sync jobs for integration events. Choose a type of data to listen for and customize where it goes.

Connect actions

Use pre-built integration actions to avoid working with the 3rd party APIs directly or worrying about breaking changes.

User-defined input settings

Built-in auto-retry

Connect actions

Use pre-built integration actions to avoid working with the 3rd party APIs directly or worrying about breaking changes.

User-defined input settings

Built-in auto-retry

Connect actions

Use pre-built integration actions to avoid working with the 3rd party APIs directly or worrying about breaking changes.

User-defined input settings

Built-in auto-retry

Transform

Run JavaScript in your workflow to use custom logic, data transformations, or external libraries, with Function steps.

Transform

Run JavaScript in your workflow to use custom logic, data transformations, or external libraries, with Function steps.

Transform

Run JavaScript in your workflow to use custom logic, data transformations, or external libraries, with Function steps.

Orchestrate

Branch based on conditionals or loop through thousands of records concurrently with a fan out.

Orchestrate

Branch based on conditionals or loop through thousands of records concurrently with a fan out.

Orchestrate

Branch based on conditionals or loop through thousands of records concurrently with a fan out.

Make requests

Pull or push data from any API

Make requests to the underlying 3rd party API

Send data back to your API or a DB

Pull in user-defined settings and mappings

Make requests

Pull or push data from any API

Make requests to the underlying 3rd party API

Send data back to your API or a DB

Pull in user-defined settings and mappings

Make requests

Pull or push data from any API

Make requests to the underlying 3rd party API

Send data back to your API or a DB

Pull in user-defined settings and mappings

Self-documenting and highly observable

Easily dive into any customers’ integration log to identify root-cause for errors. Get clear input/outputs and error messages for every step.

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

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.