Platform

Use Cases

Developers

Resources

Define integration logic
with Workflows

Build customer-facing integration features by authoring workflows in Paragon's code-based framework, or the visual workflow builder.

What you can build with Workflows

Ingest users' external data for RAG, sync records bidirectionally with their systems of record, and orchestrate pre-defined automations.

Ingest

Sync

Automate

// Pull Accounts from NetSuite

const triggerStep = new IntegrationEnabledStep();


const getAccountsStep = netsuite.getAccounts({

recordType: 'account',

});


const eachAccountStep = new FanOutStep({

description: 'Each Account',

iterator: getAccountsStep.output,

});


const createAccountStep = new RequestStep({

description: 'Create Account API',

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

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

account: `${eachAccountStep.output.instance}`,

user_id: `${connectUser.userId}`,

},

});

Ingest

Sync

Automate

// Pull Accounts from NetSuite

const triggerStep = new IntegrationEnabledStep();


const getAccountsStep = netsuite.getAccounts({

recordType: 'account',

});


const eachAccountStep = new FanOutStep({

description: 'Each Account',

iterator: getAccountsStep.output,

});


const createAccountStep = new RequestStep({

description: 'Create Account API',

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

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

account: `${eachAccountStep.output.instance}`,

user_id: `${connectUser.userId}`,

},

});

Ingest

Sync

Automate

// Pull Accounts from NetSuite

const triggerStep = new IntegrationEnabledStep();


const getAccountsStep = netsuite.getAccounts({

recordType: 'account',

});


const eachAccountStep = new FanOutStep({

description: 'Each Account',

iterator: getAccountsStep.output,

});


const createAccountStep = new RequestStep({

description: 'Create Account API',

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

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

account: `${eachAccountStep.output.instance}`,

user_id: `${connectUser.userId}`,

},

});

Ingest

Sync

Automate

// Pull Accounts from NetSuite

const triggerStep = new IntegrationEnabledStep();


const getAccountsStep = netsuite.getAccounts({

recordType: 'account',

});


const eachAccountStep = new FanOutStep({

description: 'Each Account',

iterator: getAccountsStep.output,

});


const createAccountStep = new RequestStep({

description: 'Create Account API',

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

method: 'POST',

auth: {

bearerToken: context.getEnvironmentSecret("API_KEY"),

},

body: {

account: `${eachAccountStep.output.instance}`,

user_id: `${connectUser.userId}`,

},

});

A toolkit to orchestrate background business logic

A toolkit to orchestrate background business logic

Let Paragon's workflow engine handle all of the plumbing

Let Paragon's workflow engine handle all of the plumbing

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.

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.

Ready to get started?

Join 150+ SaaS & AI companies that are scaling their integration roadmaps with Paragon.

Ready to get started?

Join 150+ SaaS & AI companies that are scaling their integration roadmaps with Paragon.

Ready to get started?

Join 150+ SaaS & AI companies that are scaling their integration roadmaps with Paragon.

Ready to get started?

Join 150+ SaaS & AI companies that are scaling their integration roadmaps with Paragon.