Skip to main content
Skip table of contents

Synchronization with Azure Functions & Graph API

There are multiple ways to deploy the Azure DirSync code across various programming languages. This guide outlines a structured approach using Visual Studio Code with Azure Functions Extensions to deploy the code to an Azure Resource Group. The provided sample code is written in .NET/C# 8.0 and uses the latest available libraries, including the Microsoft Blob Storage library (as of the time of writing).

Customers and partners can use the sample code in its original form or customize it to meet their specific requirements, enabling them to leverage pre-developed code without having to build it from scratch.

The information is provided "as is" without any warranties, express or implied. Retarus does not maintain the codebase or provide support for issues related to the code, libraries, or Microsoft environment versions. Retarus disclaims any liability for damages or issues arising from the use or implementation of this information.

For fax synchronization, sample code is available for:

  • Event-triggered synchronization via HTTPS push (public link-based)

  • Timer-triggered synchronization using a customer-defined CRON job

Architectural overview

image-20250213-102338.png

An Azure Function runs directly in an Entra ID Resource Group, retrieving mailbox and user data from Exchange Online via Graph API. The process follows these steps:

  1. Retrieve data via Graph API.

  2. Execute the processing logic.

  3. Generate CSV files containing user information for Email-to-Fax and Fax-to-Email (separate files for each).

  4. Upload the CSV files to Microsoft Blob Storage.

  5. Retrieve the CSV files from Microsoft Blob Storage.

  6. Securely transmit the retrieved CSV files via HTTPS to Retarus endpoints.

Retarus provides the necessary credentials and the URL for the data transfer during the service implementation process. Storing the files in Microsoft Blob Storage allows the customer to track what has been pushed to Retarus, including a timestamp of the last upload.

After each push to Retarus, depending on the setup of Retarus DirSync for Email-to-Fax and/or Fax-to-Email, the customer receives an email notification about the status of the last data push. It is possible to configure separate notifications for successful and unsuccessful transfers.

For further details on the Retarus DirSync service, refer to:

Retarus only receives the final CSV files. As such, the specific method for generating these files can vary based on the customer’s existing infrastructure and preferences. The approach utilizing Azure Functions, Graph API, and Blob Storage represents just one of many potential solutions.

Email-to-Fax (m2f.csv)

image-20250219-070854.png

Fax-to-Email (f2m.csv)

image-20250219-070945.png

Why use Azure functions?

  • Ensures maximum data compliance

  • Adheres to the highest security standards:

    • No external or third-party software, including Retarus software, is installed in the customer’s or Azure environment.

    • The customer retains full control over Graph API permissions.

    • The customer manages certificates.

    • The customer determines when to start the synchronization service.

    • The customer decides when to push data.

    • Secure data transmission via HTTPS.

  • Data is pushed to Retarus data centers in Germany (Munich or Frankfurt)

  • Flexible implementation with support for multiple programming languages

  • As shown in the architectural overview above, the code remains within the customer’s domain, while Retarus only receives the final CSV files that are pushed to its data centers.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.