<img height="1" width="1" src="https://www.facebook.com/tr?id=420397589986244&amp;ev=PageView &amp;noscript=1">
Skip to content
English
  • There are no suggestions because the search field is empty.

Using Fohlio Webhooks

Webhooks allow Fohlio to automatically notify another system when something happens in your account.

For example, you can use webhooks to detect when a project is created, a purchase order is updated, a supplier invoice changes, or a shipment is deleted.

Instead of repeatedly checking Fohlio for updates, your system can receive those changes automatically as they happen.

 

🔴  For the most accurate and up-to-date information, please refer to the official Fohlio API documentation, as the details on this page may change over time.

How webhooks work

A webhook follows a simple flow:

Something happens in Fohlio → Fohlio sends an event → your system receives it → your integration decides what to do

For example, when a new project is created in Fohlio, your system can receive a project.created.v1 event and use that information to create the same project in another platform.

Available webhook events

Fohlio supports webhook events across several areas of the platform.

Object Created Updated Deleted
Project project.created.v1 project.updated.v1 project.deleted.v1
Client Proposal client_proposal.created.v1 client_proposal.updated.v1 client_proposal.deleted.v1
Client Invoice client_invoice.created.v1 client_invoice.updated.v1 client_invoice.deleted.v1
Purchase Order purchase_order.created.v1 purchase_order.updated.v1 purchase_order.deleted.v1
Supplier Invoice supplier_invoice.created.v1 supplier_invoice.updated.v1 supplier_invoice.deleted.v1
Shipment shipment.created.v1 shipment.updated.v1 shipment.deleted.v1
Contact contact.created.v1 contact.updated.v1 contact.deleted.v1
Project Item project_item.created.v1 project_item.updated.v1 project_item.deleted.v1

Each event follows the same general structure, while the information inside event_data changes depending on the event type.

Webhook payload structure

When Fohlio sends a webhook, the request contains four main fields.

event_id

A unique identifier for the webhook event.

Example:

"event_id": "evt_01ABC123"

Your system should store this value after processing the event.

If the same event_id is received again, you can use it to identify the request as a duplicate and avoid processing the same event more than once.

timestamp

The time when the event occurred.

The timestamp is provided in ISO 8601 format.

Example:

"timestamp": "2026-08-27T14:32:10Z"

event_type

Identifies what happened in Fohlio.

Example:

"event_type": "project.created.v1"

Webhook event names follow this structure:

resource.action.version

For example:

project.created.v1

means:

  • project — the resource affected
  • created — the action that occurred
  • v1 — the event version

event_data

Contains the information associated with the event.

Example:

"event_data": {   ... }

The contents of this object depend on the webhook type.

For example, a project-created event contains information about the project, while a purchase-order event contains data related to the purchase order.

Refer to the individual webhook endpoint in the API Reference for the complete event_data schema.

How to receive a webhook

Step 1: Create a webhook endpoint

Your application needs a publicly accessible endpoint that can receive incoming HTTP requests from Fohlio.

For example:

https://yourcompany.com/webhooks/fohlio

Your endpoint should be able to receive JSON payloads and return an HTTP response.

HTTPS is recommended for production integrations.

Step 2: Configure the webhook

Configure your integration to send the webhook events you want to receive to your endpoint.

You may choose to listen to a single event, such as:

project.created.v1

or multiple events, depending on your integration.

For example, an integration that synchronizes purchase orders may listen to:

purchase_order.created.v1 purchase_order.updated.v1 purchase_order.deleted.v1

Step 3: Receive the event

When an event occurs, Fohlio sends a JSON payload to your webhook endpoint.

A typical payload looks like this:

{   "event_id": "evt_01ABC123",   "timestamp": "2026-08-27T14:32:10Z",   "event_type": "project.created.v1",   "event_data": {     ...   } }

Step 4: Check the event type

Your integration should inspect the event_type field to determine what happened.

For example:

project.created.v1

could trigger your application to create a corresponding project in another system.

Meanwhile:

purchase_order.updated.v1

could trigger your application to update an existing purchase order.

Step 5: Process the event data

Use the information inside event_data to perform the appropriate action in your system.

The exact data available depends on the event being received.

For the full schema of each event, refer to its corresponding page in the Fohlio API Reference.

Step 6: Prevent duplicate processing

Before processing an event, check whether its event_id has already been handled.

A typical workflow looks like this:

Receive event       ↓ Check event_id       ↓ Is it new?    ↙       ↘  Yes       No   ↓         ↓ Process    Ignore   ↓ Store event_id

This helps ensure that the same event does not accidentally trigger an action more than once.

Step 7: Return a successful response

Once your system has successfully received the webhook, return an HTTP 200 response.

Example:

HTTP/1.1 200 OK

This indicates that the event was received successfully.

Example: Project created

Imagine you want a project created in Fohlio to automatically create a corresponding project in another system.

When the project is created, Fohlio sends an event such as:

{   "event_id": "evt_01ABC123",   "timestamp": "2026-08-27T14:32:10Z",   "event_type": "project.created.v1",   "event_data": {     ...   } }

Your integration would then:

  1. Receive the webhook.
  2. Check whether evt_01ABC123 has already been processed.
  3. Confirm that the event type is project.created.v1.
  4. Read the project information from event_data.
  5. Create or update the corresponding record in your connected system.
  6. Store the event_id.
  7. Return 200 OK.

The same process can be used for the other webhook events available in Fohlio.

Common ways to use Fohlio webhooks

Keep projects synchronized

Use project webhooks to create or update corresponding records in project management, ERP, CRM, or internal systems.

Connect procurement workflows

Purchase order events can be used to synchronize procurement data with finance, purchasing, or reporting systems.

Track supplier invoices

Supplier invoice webhooks can trigger accounting workflows, reporting updates, or other internal processes when invoices are created or changed.

Monitor shipments

Shipment events can be used to update logistics or delivery systems when shipment information changes.

Synchronize contacts

Contact webhooks can help keep customer, supplier, or stakeholder records synchronized across multiple systems.

Track project items

Project item events can be used to synchronize specifications, product information, and other project-level data with external databases or applications.

Webhook event reference

Projects

  • project.created.v1
  • project.updated.v1
  • project.deleted.v1

Client proposals

  • client_proposal.created.v1
  • client_proposal.updated.v1
  • client_proposal.deleted.v1

Client invoices

  • client_invoice.created.v1
  • client_invoice.updated.v1
  • client_invoice.deleted.v1

Purchase orders

  • purchase_order.created.v1
  • purchase_order.updated.v1
  • purchase_order.deleted.v1

Supplier invoices

  • supplier_invoice.created.v1
  • supplier_invoice.updated.v1
  • supplier_invoice.deleted.v1

Shipments

  • shipment.created.v1
  • shipment.updated.v1
  • shipment.deleted.v1

Contacts

  • contact.created.v1
  • contact.updated.v1
  • contact.deleted.v1

Project items

  • project_item.created.v1
  • project_item.updated.v1
  • project_item.deleted.v1
Next steps

Once your endpoint is ready, choose the webhook events relevant to your integration and use the individual webhook pages in the Fohlio API Reference to view the complete payload structure for each event.

For example, if you want to respond whenever a new project is created, refer to the Project Created webhook reference for the full event_data schema.