---
url: /technical/integrations.md
description: >-
  MODLR allows you to integrate with external tools such as Xero, SalesForce and
  Business Central, so data can flow directly into your models.
---

# Integrations

MODLR allows you to integrate with external tools such as Xero, SalesForce, Business Central and more, so that data can flow directly into your models without manual exports or imports. Once an integration is set up, a [Process](/technical/creating-processes.html) can use it to pull data in on a [schedule](/technical/scheduling-processes.html) with no further manual intervention required.

Integrations fall into one of a few types, depending on how the external platform authenticates and exposes its data:

* **[Standard Integrations](#standard-integrations)** - set up via MODLR's built-in OAuth 2.0 flow.
* **[Advanced Integrations](#advanced-integrations)** - set up via custom Process code, for platforms that don't support OAuth 2.0.
* **[Datasource](#datasource)** - connected directly as a queryable database.
* **[Workarounds](#workarounds)** - platforms with no usable API or database access, integrated by combining file- or event-based building blocks like Flat File Load, Excel reading and Webhooks. Not fully automated end-to-end in the way the methods above are.

::: tip
MODLR is essentially never the limiting factor in how an integration is built - it can act as the client (reaching out to pull data from a platform) or the server (exposing data for a platform to pull from), and supports OAuth, custom authentication, direct database connections and file-based exchange. It's almost always the source system that dictates which method is used.
:::

## Standard Integrations

Standard Integrations are set up through MODLR's built-in OAuth 2.0 flow. You authenticate against the platform directly from the "Integrations" page, and MODLR securely stores the resulting tokens so a Process can use them to make requests to that platform's API on your behalf via [`script.getOAuth`](/process-functions/script-getoauth.html).

Most of MODLR's integrations - including Xero, Salesforce, QuickBooks, MYOB AccountRight, Slack and others - are Standard Integrations.

See [Creating an Integration](/technical/creating-an-integration.html) for a walkthrough of setting one up.

## Advanced Integrations

Some platforms don't support the OAuth 2.0 flow, or require additional custom logic to authenticate and exchange data - for example, client-credential based authentication or vendor-specific request signing. These are Advanced Integrations. Rather than being configured through the "Integrations" page, they're built using custom code within a Process.

Microsoft Business Central, NetSuite, MYOB Acumatica, Sage, Chargebee, Deel, Readytech HR3, Zambion, ProcurePro, PAYAPPS, HammerTech, PropertyMe, Eagle CRM, Fixer, Sage MicrOpay, ChatGPT and Claude are examples of Advanced Integrations. For Business Central, MODLR provides a pre-built [Integration Library](/technical/process-libraries-business-central-integration-library.html) and [Process Package](/technical/process-package-business-central-integration-package.html) to speed up setup, along with [example processes](/technical/example-processes.html#microsoft-business-central-processes). For Chargebee, see the [Chargebee Example](/technical/process-chargebee-example.html) process, for Deel, see the [Deel Example](/technical/process-deel-example.html) process, for Zambion, see the [Zambion Example](/technical/process-zambion-example.html) process, for ProcurePro, see the [ProcurePro Example](/technical/process-procurepro-example.html) process, for PAYAPPS, see the [PAYAPPS Example](/technical/process-payapps-example.html) process, for NetSuite, see the [NetSuite Process Example](/technical/netsuite-examples.html#process-example) process, for HammerTech, see the [HammerTech Example](/technical/process-hammertech-example.html) process, for PropertyMe, see the [PropertyMe Example](/technical/process-propertyme-example.html) process, for Eagle CRM, see the [Eagle CRM Example](/technical/process-eaglecrm-example.html) process, for Fixer, see the [Fixer Example](/technical/process-fixer-example.html) process, for Sage MicrOpay, see the [Sage MicrOpay Example](/technical/process-sage-micropay-example.html) process, for ChatGPT, see the [ChatGPT Example](/technical/process-chatgpt-example.html) process, and for Claude, see the [Claude Example](/technical/process-claude-example.html) process.

## Datasource

Some platforms expose their data through a queryable database rather than an API. In this case, no OAuth or custom auth code is needed - you connect to it directly as a [Datasource](/technical/datasources.html), and a Process queries it with SQL like any other database.

Pronto is an example of a platform integrated this way. NetSuite can also be connected this way, using its own JDBC driver - see the [NetSuite Datasource Example](/technical/netsuite-examples.html#datasource-example).

## Workarounds

Some platforms don't offer any of the methods above cleanly - no usable API and no direct database access. For these, MODLR relies on a **Workaround**: combining whatever the platform *does* support (a scheduled report export, an emailed Excel file, an inbound notification, etc.) with one of MODLR's file- or event-based building blocks below. Unlike Standard, Advanced and Datasource integrations, a Workaround usually isn't fully automated end-to-end - there's typically a manual or semi-manual step somewhere on the source system's side.

::: tip
Workarounds are, by nature, specific to what a platform (and often a specific customer's configuration of it) actually supports. MODLR support is happy to investigate alongside you to figure out a workable approach for a platform that doesn't fit cleanly into Standard, Advanced or Datasource.
:::

### Flat File Load

Some platforms don't expose an API at all, and instead exchange data as files (typically CSV). The file is transferred onto the MODLR instance - uploaded over FTP, pulled from a URL the source system exposes, pulled from an external SFTP server, or read directly from an Amazon S3 bucket via a built-in `datasource.S3Bucket` object - and a Process reads it in from the filesystem. See [Flat File Load](/technical/flat-file-load.html) for the recommended setup.

### Reading Excel Files

If the exported file is an Excel workbook rather than a plain CSV, see [Reading Excel Files in MODLR](/technical/reading-excel-files.html).

### Webhooks

Sometimes it's the other way around - the external platform calls MODLR rather than MODLR pulling from it. See [Webhooks](/technical/webhooks.html) for how to expose a URL that triggers a Process.

TechOne and SAP ECC are examples of platforms integrated using a Workaround, combining these building blocks. See [TechOne](/technical/techone.html) and [SAP ECC](/technical/sap-ecc.html) for how each is set up.

## Our Integrations

For a full list of the platforms MODLR integrates with, see [Our Integrations](/technical/our-integrations.html).

## Need help setting up an integration?

MODLR offers free guidance on integration setup. If you're planning a new integration, or aren't sure which method fits your platform, reach out to our support team at [support.modlr.co](https://support.modlr.co) for assistance.
