Webhooks Setup 

Webhooks allow you to trigger automatic actions in external systems whenever specific events occur in ERPLY Books. When something happens in your books, Webhooks ensure that other systems are notified immediately and in real-time.

Webhooks fire when certain events occur, such as:

  • Adding a new invoice
  • Updating a customer record
  • Deleting a transaction

Instead of manually checking for changes, webhooks push information to other systems instantly.

Setting Up Webhooks

Accessing Webhook Management

  1. Go to SettingsConfiguration
  2. Select Webhooks
  3. Click Manage

Adding a New Webhooks

When adding a webhook, you’ll configure three main columns:

1. Tables

Select which table you want to track. Available options include:

  • Articles – Products and services
  • Customers and suppliers (contacts)
  • Tax Rates
  • Dimensions/Projects 
  • Project groups
  • Documents – All document types (sales invoices, purchase invoices, waybills, etc.)
  • Emails

2. Add Activity

Choose what type of change to track:

  • INSERT– When something new is added
  • UPDATE – When something is updated
  • DELETE – When a record is deleted

3. Create connection

This defines what happens next when the webhook is triggered. The connection corresponds to a Custom Integration that you must set up separately (see below).

Adding Filters (Optional)

There is a fourth column that is hidden by default (add filter), which allows you to set rules for when the webhook should fire.

Enabling Filters:

  1. Click Add Filter
  2. Add conditions to specify exactly when the Webhook should be triggered (e.g., type=ARTICLE_PRODUCT, so the webhook will fire only when the item is of the Finished Product (Completed Product) type)

Setting Up Custom Integration

Webhooks require a Custom Integration to define where and how to send the data.

Creating a Custom API Integration

  1. Go to SettingsIntegrations
  2. Select Custom API (the last option)
  3. Click Manage
  4. Add a new row

Configuring the Integration

You’ll need to specify:

  • URL / IP – The endpoint where webhook data will be sent (e.g., https://your-system….)

Request method (HTTP Method)

  • POST
  • GET
  • Or other HTTP methods as needed

Request headers (Optional)

Add any required headers, such as:

  • Application configuration
  • Authentication tokens
  • API keys

Request body

  • Define what data to send  by using the replace syntax.

Using Replace Values in Request Body

You can dynamically include data from the edited object using the format: REPLACE:fieldname

Example: Sending Article Name

Request Body:

{

“name”: “REPLACE:name”,

“code”: “REPLACE:code”,

“price”: “REPLACE:price”

}

When the webhook fires, the system automatically replaces REPLACE:name with the actual article name from the record.

Available fields:

  • Field names correspond to API documentation field names
  • Check the API documentation for exact field names for each table