Kordiam can integrate other services and systems in a particular way: with a Message Queue.
I - What is a Message Queue (MQ)?
A Message Queue (MQ) is an option for integration with systems that are permanently installed in a corporate network. It establishes asynchronous data transmission between two communicating applications. In this process, the sender and receiver of messages do not have to interact simultaneously: All messages that the sender transmits to the MQ are stored there until the receiver retrieves them.
II - Advantages of the MQ:
- each customer account has its MQ with a unique name
- information transmitted to the MQ can be stored
- no information is lost during maintenance or system downtime on the receiving side
- one Kordiam account can also have several MQs
III - How does the MQ work?
The MQ integration connects Kordiam to the customer's system, such as a CMS (Content Management System). Kordiam delivers data to the MQ when a new topic is entered into or updated in Kordiam.
The MQ feeds the information that new data is available to the connected CMS. This retrieves the announced data running continuously under the same ID.
Kordiam sends an update when a topic entry (message, item) is created, deleted, or at least one of the following fields is changed in Kordiam:
Topic description with
- slug (short title)
- title
- status
- note about the topic
- added location
- group assignment ("entry belongs to...")
- custom fields
- appointment data added or changed
- appointment data (date, time) changed
Production description with
- task(s) assigned / removed
- status
- assigned users
- delivery deadline with date, time
- note on the task
- modification of the task
Publication description with
- channels added / removed
- changes in category and type of channel
- publication status
- publication date or time
Furthermore, we added fields to the MQ payload to identify the source of the last edit to an element:
- lastEditorUserId:
Set when a change is made directly by a registered user via the Kordiam interface. - lastEditorAPIUserId:
Refers to changes made via the API. Multiple API users can exist, so this field helps distinguish which one performed the change. - lastEditorFeedId:
Used for integrations with news agency feeds. These feeds automatically create topics/appointments in Kordiam. The feed ID indicates which feed triggered the change. - lastEditorNRUId:
Identifies changes made by “non-registered users”, e.g. when someone receives a task via email (without a Kordiam user profile) but can still accept or decline it. - lastEditorSystemUser (Boolean):
Indicates whether the change was made by the system – not via a specific user action, but as part of an automated process. This flag is always included and can optionally be used for filtering.
An example payload for a change made by an API user:
{
"elementId": 1212541,
"lastEditorAPIUserId": 1,
"lastEditorSystemUser": false,
"modificationDate": "2025-07-18T06:52:49Z"
}
IV - Technical Basics:
Our message queue is based on the Apache ActiveMQ. The ActiveMQ is free (open source) and subject to the Apache 2.0 ASF license terms.
It can be used by applications in different languages. We support several industry-standard protocols / endpoints like:
- OpenWire
- AMQP 1.0
- STOMP
- MQTT
- WSS
Kordiam has its own ActiveMQ instance.
Customers who wish to have MQ integration with us should either implement an ActiveMQ client or configure their existing ActiveMQ client to be able to connect to our ActiveMQ instance.
Code samples for different languages and communication protocols can be found here: https://activemq.apache.org/cross-language-clients
ActiveMQ documentation can be found here: https://activemq.apache.org/components/classic/documentation
When a customer prepares their MQ client and asks Kordiam to set up the integration for their organization, our technical team makes the necessary changes (enable integration, prepare credentials, provide communication details/endpoints) and submits these details to the CMS.
To enable the customer to track the changes, we give them read-only access to their MQ.
When an element change is made, we send the ID of the element and timestamp to the MQ (JSON format):
{
"elementId": 123456789,
"modificationDate": "2021-01-01T00:00:00Z"
}
Where: elementId is the element ID, and modificationDate is the date and time when this message was created or an update was performed.
V - Costs of installing and implementing a Message Queue
You are paying a one-time fee of 2000 Euros for both the setup as well as for operations and maintenance of that queue. No matter if you use the MQ for two weeks or 20 years. This flat rate includes one queue for a productive Kordiam account and one queue for a test account.
New MQs will always be activated very early on Saturday morning (because they are connected to regular server maintenance). On Monday we will check the functionality and send you the access data.
If you want to order an MQ, we need a formal order (> support@kordiam.io) and the following information
- Your client ID (from here) of the Kordiam account you want to connect to
- A billing name, address and email
Comments
0 comments
Please sign in to leave a comment.