- Products
- Solutions Use casesBy industry
- Developers
- Resources Connect
- Pricing
Seamlessly connect your application with Microsoft 365, Microsoft Outlook, and more using the Nylas Email API.
With a few lines of code, build email CRUD capabilities and bi-directional sync.
See the docsNode.js
Ruby
Python
Java
Curl
const messages = await nylas.messages.list({
identifier,
queryParams: {
limit: 5,
}
})
require 'nylas'
nylas = Nylas::Client.new(api_key: 'API_KEY')
query_params = { limit: 5 }
messages, _ = nylas.messages.list(identifier: '<GRANT_ID>', query_params: query_params)
messages.each {|message|
puts "[#{Time.at(message[:date]).strftime("%d/%m/%Y at %H:%M:%S")}] \
#{message[:subject]}"
}
messages = nylas.messages.list(
grant_id,
query_params={
"limit": 5
}
)
import com.nylas.NylasClient;
import com.nylas.models.*;
import java.text.SimpleDateFormat;
public class ReadInbox {
public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {
NylasClient nylas = new NylasClient.Builder("<API_KEY>").build();
ListMessagesQueryParams queryParams = new
ListMessagesQueryParams.Builder().limit(5).build();
ListResponse<Message> message = nylas.messages().list("<GRANT_ID>", queryParams);
for(Message email : message.getData()) {
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").
format(new java.util.Date((email.getDate() * 1000L)));
System.out.println("[" + date + "] | " + email.getSubject());
}
}
}
curl --request GET \
--url "https://api.us.nylas.com/v3/grants/GRANT_ID/messages?limit=5" \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <API_KEY_OR_ACCESS_TOKEN>' \
--header 'Content-Type: application/json'
Node.js
Ruby
Python
Java
Curl
const contact = new Contact(nylas);
// The following attributes can be modified for the contact object
contact.givenName = 'Nyla'
contact.birthday = '2014-06-01'
contact.companyName = 'Nylas'
contact.jobTitle = 'Communications Platform'
contact.officeLocation = 'San Francisco'
contact.notes = 'Check out the Nylas Email, Calendar, and Contacts APIs'
contact.emailAddresses = [new EmailAddress({
type: 'work', email: '[email protected]'
})];
contact.save();
contact = nylas.contacts.create
contact.given_name = 'Nyla'
contact.office_location = 'San Francisco'
contact.company_name = 'Nylas'
contact.notes =
'Check out the Nylas Email, Calendar, and Contacts APIs'
contact.manager_name = 'Communications'
contact.job_title = 'Communications Platform'
contact.birthday = '2014-06-01'
contact.emails = [
{
type: 'work',
email: '[email protected]'
}]
contact.save
contact = nylas.contacts.create()
contact.given_name = 'Nyla'
contact.office_location = 'San Francisco'
contact.company_name = 'Nylas'
contact.notes = 'Check out the Nylas Email, Calendar, and Contacts APIs'
contact.manager_name = 'Communications'
contact.job_title = 'Communications Platform'
contact.birthday = datetime(2014, 6, 1)
contact.emails['work'] = ['[email protected]']
contact.save()
public class NylasExamples {
public static void createContact() throws IOException, RequestFailedException {
Contact contact = new Contact();
contact.setGivenName("Nyla");
contact.setNickname("Nylas");
contact.setOfficeLocation("San Francisco");
contact.setCompanyName("Nylas");
contact.setNotes("Check out the Nylas Email, Calendar, and Contacts APIs");
contact.setManagerName("Communications");
contact.setJobTitle("Communications Platform");
contact.setBirthday("2014-06-01");
contact.setEmails(Arrays.asList(new Contact.Email("work", "[email protected]")));
contact = account.contacts().create(contact);
}
}
curl --request POST \
--url https://api.nylas.com/contacts \
--data '{
"birthday": "2014-06-01",
"company_name": "Nylas",
"emails": [
{
"email": "[email protected]",
"type": "work"
}
],
"given_name": "Nyla",
],
"job_title": "Nylas Mascot",
"phone_numbers": [
{
"number": "1 800 GO NYLAS",
"type": "business"
}
],
"web_pages": [
{
"type": "work",
"url": "nylas.com"
}
],
}'
Response
{
"request_id": "d0c951b9-61db-4daa-ab19-cd44afeeabac",
"data": [
{
"starred": false,
"unread": true,
"folders": [
"UNREAD",
"CATEGORY_PERSONAL",
"INBOX"
],
"grant_id": "1",
"date": 1706811644,
"attachments": [
{
"id": "1",
"grant_id": "1",
"filename": "invite.ics",
"size": 2504,
"content_type": "text/calendar; charset=\"UTF-8\"; method=REQUEST"
},
{
"id": "2",
"grant_id": "1",
"filename": "invite.ics",
"size": 2504,
"content_type": "application/ics; name=\"invite.ics\"",
"is_inline": false,
"content_disposition": "attachment; filename=\"invite.ics\""
}
],
"from": [
{
"name": "Nylas DevRel",
"email": "[email protected]"
}
],
"id": "1",
"object": "message",
"snippet": "Send Email with Nylas APIs",
"subject": "Learn how to Send Email with Nylas APIs",
"thread_id": "1",
"to": [
{
"name": "Nyla",
"email": "[email protected]"
}
],
"created_at": 1706811644,
"body": "Learn how to send emails using the Nylas APIs!"
}
],
"next_cursor": "123"
}
{
"type": "event.created3",
"data": {
"object": {
"busy": true,
"calendar_id": "mock-name%40nylas.com",
"created_at": 1234567890,
"description": "mock description",
"hide_participants": false,
"ical_uid": "[email protected]",
"id": "mock-data-id",
"object": "event",
"owner": "Mock Owner <[email protected]>",
"organizer": {
"name": "mock organizer name",
"email": "[email protected]"
},
"participants": [
{
"email": "[email protected]",
"name": "mockParticipantsA",
"status": "yes"
},
{
"email": "[email protected]",
"name": "mockParticipantsB",
"status": "noreply"
}
],
"read_only": false,
"reminders": null,
"status": "confirmed",
"title": "mock_title",
"updated_at": 1234567890,
"when": {
"start_time": 1234567890,
"start_timezone": "America/Edmonton",
"end_time": 1234567890,
"end_timezone": "America/Edmonton",
"object": "timespan"
}
}
}
}
Receive real-time notifications to monitor events and trigger automated workflows.
Experiment with our API with pre-configured settings in the Nylas Dashboard.
Fast-track your integration with our Node.js, Ruby, Python, Java and Kotlin SDKs.
Building a custom Microsoft 365 mail sync would take around 5,072 hours of your development team’s time. Connect to Microsoft 365 and any other provider in a fraction of the time with Nylas.
With Nylas, user’ email data syncs bi-directionally between their Microsoft 365 email account and your app. With full CRUD (create, read, update, delete) capabilties, you can build full-featured email capabiltiieswithin your application.
Webhooks allow your application to receive notifications when certain events occur — they are easy to integrate with your app and scale seamlessly with your growth.
Nylas sends mail through the account’s original SMTP/ActiveSync gateway, which means messages sent through Nylas have high deliverability.
The costs of integrating Microsoft 365 email or any other provider on your own increase considerably as your platform and user base grow. Consider the following:
The Nylas Email API helps control costs associated with email integration by abstracting away the resource-insensive process of building and maintaing integrations. By connecting to 100% of service providers using a secure, scalable API, we help you refocus your developers on building core features.
At Nylas, we prioritize security and seamless integration for your Microsoft 365 integration. Trust us to handle every detail while ensuring your data remains secure.
Discover the power of the Nylas platform and connect up to 5 accounts for free.
Microsoft 365 Email API integration refers to the process of connecting and integrating Microsoft 365 (formerly known as Office 365) email services with other applications or systems using the Microsoft 365 Email API.
The Microsoft 365 Email API provides developers with a set of tools, protocols, and functions to programmatically interact with Microsoft 365 email services, such as sending and receiving emails, managing folders, accessing calendars, and retrieving contact information.
By integrating the Microsoft 365 Email API into their applications or systems, developers can enable functionalities that involve email communication and collaboration, allowing users to seamlessly interact with their Microsoft 365 email accounts directly from within other applications.
The Microsoft 365 Email API provides a comprehensive interface to access Microsoft 365 services, while the Exchange Email API focuses on integration with on-premises Exchange Server. The Outlook Email API is specifically designed for web-based interactions with Outlook.com. Each API serves different purposes and targets specific integration needs within the Microsoft ecosystem.
Integrating the Microsoft 365 Email API with other apps or services allows for seamless communication and collaboration between Microsoft 365 email and external platforms. Follow these steps to get started:
With Nylas, you can simplify this process — sign up for a developer account and start building for free.
The Microsoft 365 Email API can be integrated using various programming languages, including JavaScript/Node.js, Python, C#, Java, Ruby, and PHP. The choice of programming language depends on your familiarity, project requirements, and the ecosystem of your application or service.