Global observation

The Global Observer is an integration method that allows an external system to be sent all the data in the Haplo application as a series of messages as data changes, using a generic integration message queue.

To use the global observer, install the haplo_integration_global_observation plugin.

Message queue

Messages are sent in the global queue. To find the queue API URLs and create an API key, use the administration interface:

Your Name » Integrations » Integration message queues » Global observation

If any errors are encountered, these can be viewed in the generic integrations error list:

Your Name » Integrations » Errors from integrations


There are various messages that are sent by the observer. Other plugins may add additional messages to the queue, so a message queue consumer must filter out any types of messages that it does not understand.

The majority of messages will include an Haplo object in the standard JSON serialisation format, and include all message sources available to the application. This will include information on workflows and forms.

The order of messages is not guaranteed, especially when multiple messages are generated from one interaction with the application. If the consumer of the message queue is sensitive to the order, it should sort the messages received before processing.

Enabling the Global Observer

By default, the Global Observer is disabled, so initial creation of objects in the application and data loading doesn’t result in huge amounts of messages in the queue.

To enable it, edit the configuration data for your application,

Your Name » System management » Configuration » Configuration data

and set the JSON value to include:

  "haplo_integration_global_observation:enabled": true

Set this value to false to disable the Global Observer. It can be disabled and reenabled at any time, for example, during batch imports of data.