Outlook Mail (Office 365) Connector
Documentation
Version: 2
Documentation

Outlook Mail (Office 365) Connector Examples


The ZappySys API Driver is a user-friendly interface designed to facilitate the seamless integration of various applications with the Outlook Mail (Office 365) API. With its intuitive design and robust functionality, the ZappySys API Driver simplifies the process of configuring specific API endpoints to efficiently read or write data from Outlook Mail (Office 365).

On this page you will find some SQL examples which can be used for API ODBC Driver or Data Gateway API Connector.

Get messages for the current user    [Read more...]

SELECT * FROM MyMessages

Get users    [Read more...]

select * from Users 
			--Where Id='049beb7f-03e0-4b0d-825d-73567b6786e9'

Get a specific message from the current user's account by the message ID    [Read more...]

SELECT * FROM MyMessages
WHERE Id='AAXkADIwNzNhODMyLTZiMTQtNDhiMC02OWQzLTc5YTY5M2IyMjk0NABGAyAAAACbj2hVuNphT74wylrfU4ixBwAbUV6IxRnpQrqzrb2WfacdAAAAAAEMAAAbUV6IxRnpQrqzrb2WfacdAAAysBnxAAA='

Get messages for a specified user    [Read more...]

SELECT * FROM get_messages
WITH (UserID='firstname.lastname@domainname.com')

Get first 5 messages for a specified user    [Read more...]

SELECT * FROM get_messages
WITH (UserID='firstname.lastname@domainname.com', PageSize='5')

Get all messages in a specific Mail Folder    [Read more...]

SELECT * FROM get_messages
WITH (
MailFolderID='INBOX' --or use mai folder id
)

Get messages with a subject line that starts with 'Announcements for'    [Read more...]

SELECT * FROM get_messages
WITH (UserID='firstname.lastname@domainname.com', SearchCriteria='startsWith(Subject,''Announcements for'')')

Get messages that have at least one attachment associated with them    [Read more...]

SELECT * FROM get_messages
WITH (UserID='firstname.lastname@domainname.com', SearchCriteria='hasAttachments eq true')

Get messages that are unread    [Read more...]

SELECT * FROM get_messages
WITH (UserID='firstname.lastname@domainname.com', SearchCriteria='IsRead eq false')

Get messages for the current user ordered by the time they were sent in ascending order    [Read more...]

SELECT * FROM MyMessages WITH (OrderBy='sentDateTime')

Get messages for the current user ordered by the time they were sent in descending order    [Read more...]

SELECT * FROM MyMessages WITH (OrderBy='sentDateTime desc')

Get messages for the current user ordered by the time they were received in ascending order    [Read more...]

SELECT * FROM MyMessages WITH (OrderBy='receivedDateTime')

Get messages for the current user ordered by the time they were received in descending order    [Read more...]

SELECT * FROM MyMessages WITH (OrderBy='receivedDateTime desc')

Get messages for the current user ordered by the name of the sender in ascending order    [Read more...]

SELECT * FROM MyMessages WITH (OrderBy='sender/emailAddress/name')

Get messages for the current user ordered by the name of the sender in descending order    [Read more...]

SELECT * FROM MyMessages WITH (OrderBy='sender/emailAddress/name desc')

Get all mail folders associated with the current user    [Read more...]

SELECT * FROM MyMailFolders

Get a specific mail folder associated with the current user by its mail folder ID    [Read more...]

SELECT * FROM MyMailFolders
WHERE (Id='AAMkADIwNzNhODMyLTZiMTQtNDhiMCz4OWQzLTc5YTY5M2IyMjk0NAYuAAAAAACbj2hVuNphT74wyYrfU4ixAQAbUV6IxRnpQrWzrb2WfacdAAAAAAEKAcA=')

Get all attachments linked to the specified message ID    [Read more...]

SELECT * FROM get_message_attachments
WITH (MessageId='AAXkADIwNzNhODMyLTZiMTQtNDhiMC02OWQzLTc5YTY5M2IyMjk0NABGAyAAAACbj2hVuNphT74wylrfU4ixBwAbUV6IxRnpQrqzrb2WfacdAAAAAAEMAAAbUV6IxRnpQrqzrb2WfacdAAAysBnxAAA=')

Get the specified attachment by message ID and attachment ID    [Read more...]

SELECT * FROM get_message_attachment
WITH (MessageId='AAXkADIwNzNhODMyLTZiMTQtNDhiMC02OWQzLTc5YTY5M2IyMjk0NABGAyAAAACbj2hVuNphT74wylrfU4ixBwAbUV6IxRnpQrqzrb2WfacdAAAAAAEMAAAbUV6IxRnpQrqzrb2WfacdAAAysBnxAAA=',
AttachmentId='AAMkADIwNzNhODMyLTZiMTQtNDhiM704OWQzLTc5YTY5M2IyMjk0NABGAAqAAACbj2hVuNphT74wylrfU4ixBwAbUV6IxRnpQrqzrb2WfacdAABBAAEMAAAbUV6IxRnpQrqzrb2WfacdAAAysB9xAAABEgAQAK6dg4NuEa5Fmn_5Tp_D_XM=')

Download the specified attachment by message ID and attachment ID and save it to a file    [Read more...]

SELECT * FROM download_message_attachment
WITH (MessageId='AAMkADIwNz2hODMyLTZiMTQtNDhiMC04OWQzLTc5YTY5M2IyMjk0NABGZAAAAxCbj2hVuNphT74wylrfU4ixBwAbUV6IxRnpQ6qzrb2WfacdAAAAAAEMAAAbUb6IxRnpQrqzrb2WfacdAAAysBnxAAA=',
AttachmentId='AAMkADIwNzNhODMyLTZiMTQtNDhiMC04cWQzLTc5YTY5M2IyMjk0NABGAAAAAACbj2hVuNphTZ4wylrfU4ixBwAbUV6IxRnpQrqzrb2WfacdAAAAAAEMAA8bUV6IxRnpQrqzrb2WfacdAAAysBnxAAABEgAQAK6dg4NuEa5Fmn_5Tp_D_XM=',
TargetFilePath='C:\temp\photo.png'
)

Download multiple attchments with search condition    [Read more...]

This example shows how to download Office 365 Email attachments with search criteria. In this example we used multiple conditions to search. For example search mail with attachments only, sent after 2023-03-01, subject contains string 'invoice' and email sent from microsoft-noreply@microsoft.com

SELECT *  FROM download_message_attachments
WITH(
	  SaveFolder='c:\download',	
	  OverwriteFile='True',
 	  MailFolderId='INBOX', --or use mailbox ID
	  UserId='me', --or use "user-id" or use "email"
	  --search mail with attachments, sent after 2023-03-01, subject contains string "invoice" and  from email is microsoft-noreply@microsoft.com
	  SearchCriteria='hasAttachments eq true and sentDateTime gt 2023-03-01 and contains(subject, ''invoice'') and from/emailAddress/address eq ''microsoft-noreply@microsoft.com''  ',
	  EmailBodyFormat='HTML' --or text
)

Send a simple email message (with headers, HTML body, recipients, attachments and more)    [Read more...]

This example shows how to send email using Office 365 API. It shows how to attach local file(s) as attachments. To send email as Text format use Text rather than HTML in BodyContentType value.

INSERT INTO MyMessages
(Subject, BodyContentType, BodyContent
, ToRecipients, CcRecipients, BccRecipients
, InternetMessageHeaders
, Attachments, Importance, IsDeliveryReceiptRequested, IsReadReceiptRequested
, SaveToSentItems)
VALUES
('Employee Reviews Scheduled', 'HTML', '<b>Hi All,</b> employee reviews have been scheduled. <span style="text-decoration: underline;">Please reflect this in your notes.</span>',
 '[{ "emailAddress": { "address": "john.doe@domain.com" }}, { "emailAddress": { "address": "jane.doe@domain.com" }}]',
 '[{ "emailAddress": { "address": "mary.dawson@domain.com" }}]',
 '[{ "emailAddress": { "address": "ryan.connor@domain.com" }}]',
 '[{ "name": "x-custom-header-group-name", "value": "Managers" }, { "name": "x-custom-header-group-id", "value":"MGR001" }]',
 '[
      {
        "@odata.type": "#microsoft.graph.fileAttachment",
        "name": "file1.txt",
        "contentType": "text/plain",
        "contentBytes": "<<c:\file1.txt,FUN_FILE_BASE64ENC>>"
      },
      {
        "@odata.type": "#microsoft.graph.fileAttachment",
        "name": "profile-picture.png",
        "contentType": "image/png",
        "contentBytes": "<<c:\profile-picture.png,FUN_FILE_BASE64ENC>>"
      }	  
  ]', 
 'normal', 'false', 'false', 'true')

Call generic API request    [Read more...]

This example shows how ot call any Office 365 / Outlook API using generic_request endpoint. This is useful when some endpoints not defined in the connector but you like to call that API.

SELECT * FROM generic_request
  WITH (
  URL='/users/049beb7f-03e0-4b0d-825d-73567b6786e9'
  , RequestMethod='GET'
  , Filter='$' --optional if you like to read from array inside document
  --Try commenting below line or define static metadata (speed up API calls by not requesting columns)
  , Meta='businessPhones:String(220); displayName:String(230); givenName:String(100); jobTitle:String(255); mail:String(310); mobilePhone:String(255); officeLocation:String(255); preferredLanguage:String(255); surname:String(140); userPrincipalName:String(500); id:String(360); '
  )

Getting Started with Examples

ZappySys API Driver is a powerful software solution designed to facilitate the extraction and integration of data from a wide range of sources through APIs. Its intuitive design and extensive feature set make it an essential asset for any organization dealing with complex data integration tasks.

To get started with examples using ZappySys API Driver, please click on the following applications:

SQL Server Connect Outlook Mail (Office 365) in SQL Server
Power BI Connect Outlook Mail (Office 365) in Power BI
SSRS Connect Outlook Mail (Office 365) in SSRS
Informatica Connect Outlook Mail (Office 365) in Informatica
MS Access Connect Outlook Mail (Office 365) in MS Access
MS Excel Connect Outlook Mail (Office 365) in MS Excel
SSAS Connect Outlook Mail (Office 365) in SSAS
C# Connect Outlook Mail (Office 365) in C#
Python Connect Outlook Mail (Office 365) in Python
JAVA Connect Outlook Mail (Office 365) in JAVA
Tableau Connect Outlook Mail (Office 365) in Tableau
SAP Crystal Reports Connect Outlook Mail (Office 365) in SAP Crystal Reports
Azure Data Factory (Pipeline) Connect Outlook Mail (Office 365) in Azure Data Factory (Pipeline)
Talend Studio Connect Outlook Mail (Office 365) in Talend Studio
UiPath Connect Outlook Mail (Office 365) in UiPath
PowerShell Connect Outlook Mail (Office 365) in PowerShell
ODBC Connect Outlook Mail (Office 365) in ODBC

Key features of the ZappySys API Driver include:

The API ODBC driver facilitates the reading and writing of data from numerous popular online services (refer to the complete list here) using familiar SQL language without learning complexity of REST API calls. The driver allows querying nested structure and output as a flat table. You can also create your own ODBC / Data Gateway API connector file and use it with this driver.

  1. Intuitive Configuration: The interface is designed to be user-friendly, enabling users to easily set up the specific API endpoints within Outlook Mail (Office 365) without requiring extensive technical expertise or programming knowledge.

  2. Customizable Endpoint Setup: Users can conveniently configure the API endpoint settings, including the HTTP request method, endpoint URL, and any necessary parameters, to precisely target the desired data within Outlook Mail (Office 365).

  3. Data Manipulation Capabilities: The ZappySys API Driver allows for seamless data retrieval and writing, enabling users to fetch data from Outlook Mail (Office 365) and perform various data manipulation operations as needed, all through an intuitive and straightforward interface.

  4. Secure Authentication Integration: The driver provides secure authentication integration, allowing users to securely connect to the Outlook Mail (Office 365) API by inputting the necessary authentication credentials, such as API tokens or other authentication keys.

  5. Error Handling Support: The interface is equipped with comprehensive error handling support, ensuring that any errors or exceptions encountered during the data retrieval or writing process are efficiently managed and appropriately communicated to users for prompt resolution.

  6. Data Visualization and Reporting: The ZappySys API Driver facilitates the seamless processing and presentation of the retrieved data from Outlook Mail (Office 365), enabling users to generate comprehensive reports and visualizations for further analysis and decision-making purposes.

Overall, the ZappySys API Driver serves as a powerful tool for streamlining the integration of applications with Outlook Mail (Office 365), providing users with a convenient and efficient way to access and manage data, all through a user-friendly and intuitive interface.