Skip to content
Skip to main content

Manage contacts with Node.js

Last updated:

This page explains how to manage contacts with the Nylas Node.js SDK and Contacts API.

Before you start, you must have done the following tasks:

The example below lists the first and last names, email addresses, and IDs of the first 10 contacts in a user’s contact list.

import Nylas from "nylas";
const NylasConfig = {
apiKey: "<NYLAS_API_KEY>",
apiUri: "<NYLAS_API_URI>",
};
const nylas = new Nylas(NylasConfig);
async function fetchContacts() {
try {
const identifier = "<NYLAS_GRANT_ID>";
const contacts = await nylas.contacts.list({
identifier,
queryParams: {
limit: 5,
},
});
console.log("Contacts:", contacts);
} catch (error) {
console.error("Error fetching contacts:", error);
}
}
fetchContacts();

When you create a contact, Nylas syncs it to the user’s provider. The following example creates a contact, assigns its attributes, and saves it to Nylas.

async function createContact() {
try {
const contact = await nylas.contacts.create({
identifier: "<NYLAS_GRANT_ID>",
requestBody: {
givenName: "My",
middleName: "Nylas",
surname: "Friend",
notes: "Make sure to keep in touch!",
emails: [{ type: "work", email: "[email protected]" }],
phoneNumbers: [{ type: "work", number: "(555) 555-5555" }],
webPages: [{ type: "other", url: "nylas.com" }],
},
});
console.log("Contact:", contact);
} catch (error) {
console.error("Error to create contact:", error);
}
}
createContact();

For more information on Contact objects and their attributes, see the Contacts references.

When you create a contact for a Google account, it renders like this on the provider:

A Google Contact card displaying the information for a contact named My Nylas Friend.

For Microsoft Outlook, new contacts look like this:

A Microsoft Contact card displaying the information for a contact named My Nylas Friend.

To delete a contact from a user’s account, you must get the contact’s id and pass it as an argument to the contacts.destroy() function. You can use the same code from the List contacts section to retrieve a contact’s ID.

const deleteContact = async () => {
try {
await nylas.contacts.destroy({ identifier, contactId });
console.log(`Contact with ID ${contactId} deleted successfully.`);
} catch (error) {
console.error(`Error deleting contact with ID ${contactId}:`, error);
}
};
deleteContact();