This article will describe how to send an application message via API to an external system. 

Sometimes you might want to let Barium Live send information to a another system. This can be useful in variety of different applications. For example in an onboarding application, when you want to add a user to the AD. Or if you want to send specific data to a billing system. This can be done via the Send Application integration.  

In order to use "send application message" it needs to be activated on the contract. Please contact to activate the function.    

1. Go to Space settings >Business components in your space and press "Add new", then choose "Send Application" 

2. Open your process in the modeling tool and add a message intermediate to the process.  Read more about Message intermediate here.

3. Right click on the message intermediate and choose "Configure message" , thereafter choose "Other message".

4. Set a queue name of your liking and add a message. You can as an example retrieve data from a field in a form by typing $form.field$. 

Copy the "Full queue name and past it into the agent.xml file  (See step 5).   

5. Configure the API call. Either by BIA (Barium integration Agent) or a regular API Call.

In this article we will focus on configuration in the BIA (Agent.xml). If you wish to do a regular API call.  You can find the API method for application message here

Example of BIA configuration: 

(Text in red must be configured). 

<?xml version="1.0" encoding="utf-8" ?>

<agent version="1.0">

    <config id="Config1" enabled="true">


        <apikey>00000000-0000-0000-0000-000000000000</apikey> <!-- Your private API Key -->


        <apipassword>****************</apipassword> <!--Your top secret password -->



            <datasource id="SIGNAL1" adapter="applicationmessage">

                <!--DomainId is the 4 digit number of the space.--> 




                     <!--Add the copied "Full queue name" from step 4 here.-->

                    { "queueName" : "38c7c39b-abd5-4f81-96f1-2310a3c838d1.test_queue" }    





            <trigger id="trg" type="timer">

                <period>0.00:05:00</period> <!-- Set the time how often the queue will be read.-->    




            <task trigger="trg" enabled="true">

                <query id="signal1_queue" datasource="SIGNAL1"></query>

                <foreach queryid="signal1_queue" as="queue_row">

                    <log>Signal received from Barium Live with data: id = $$, name = $$</log>