Article ID: 122526, created on Jul 30, 2014, last review on Jul 21, 2016

  • Applies to:
  • Operations Automation 6.0


Changes of user settings which are made by an Office 365 customer in the Microsoft Online Services Portal are not automatically propagated to Service Automation.


Versions 3.x - 4.x of the Office 365 Application support background 2-way synchronization, see the Service Automation Office 365 Integration Provider's Guide, the section "Synchronizing Changes Applied in Microsoft Online Services Portal to PA". In version 5.0 of the the Office 365 Application the built-in support for 2-way synchronization is introduced, but it requires manual intervention - see the Service Automation Office 365 Subscriber's Guide, the section "Synchronizing Office 365 Organization with Microsoft Online Services Portal".


This article offers a temporary solution to the issue described above. It is a script that forces background synchronization and helps to automate this task.


  1. Log on to the Business Automation Application Server (BALINFE) as root.
  2. Install the following RPM packages:

    • perl-REST-Client
    • perl-Frontier-RPC
    • perl-Frontier-RPC-doc

    The RPM packages are attached to the KB article

    Example for CentOS 6.5:

    • Execute the yum install perl-Frontier-RPC perl-Frontier-RPC-doc perl-XML-LibXML command.
    • Execute the rpm -i perl-REST-Client-271-1.el6.noarch.rpm command.
  3. Put the file to the /usr/local/o365 directory.
  4. Execute the chmod +x /usr/local/o365/ command.
  5. Put the file to the /usr/local/o365 directory.
  6. Execute the chmod +x /usr/local/o365/ command.
  7. In the file, specify the following parameters:

    • $officeappid - Application ID of the Office 365 APS Application.

      Important: Application ID is different from Instance ID.

    • $poa - The BackNet IP Address of the Operations Automation Management Node.
    • $poaport - The port of the Operations Automation Public API. The default value is 8440.
  8. Add the * * * * * * /usr/local/o365/ line to crontab using the crontab -e command.

Note: If you need to view synchronization logs, go to the /var/log/sync/ directory.


Please note that is allowed to modify $counter in the following lines of script:

        foreach my $tenant(@$instancesubscriptions){
            if($counter % 100 == 0){
                logger("Refreshing App Token for APP instance ".$appintance->{'application_instance_id'});

It can be required because life oftime for APS scurity token is 30 minutes and with value for $counter equal to 100 security token will be regenerated only after 100 tennats proccessed. So, there is probable situation when it is not possible to process 100 tennats within 30 minutes. In such cases script will fail with the following error message:

    'error' => 'APS::Hosting::Exception',
              'message' => 'Authentication failed.'

A previous version of the script failed on any unexpected response from endpoint. If you've met such issue, please replace the script with its up-to-date version.

Search Words

Office 365 upgrade license not propagated to microsoft

Backsync script functions (

caea8340e2d186a540518d08602aa065 5356b422f65bdad1c3e9edca5d74a1ae e12cea1d47a3125d335d68e6d4e15e07 956c448bddc7e1f3585373687602379f 6f1456866eed87488c0f02b298a741c0

Email subscription for changes to this article
Save as PDF