Skip to content

Manage contacts with Python

This page explains how to use the Nylas Python SDK and Contacts API to create and manage contacts.

Before you begin

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

List contacts

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

from dotenv import load_dotenv
load_dotenv()
import os
import sys
from nylas import Client
nylas = Client(
os.environ.get('NYLAS_API_KEY'),
os.environ.get('NYLAS_API_URI')
)
contacts = nylas.contacts.list(
'<NYLAS_GRANT_ID>',
query_params={
"limit": 10
}
)
for contact in contacts[0]:
email = list(contact.emails.values())[0][0]
print("Name: {} {} | Email: {} | ID: {}".format(
contact.given_name, contact.surname, email, contact.id)
)

Create a contact

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

from dotenv import load_dotenv
load_dotenv()
import os
import sys
from nylas import Client
nylas = Client(
os.environ.get('NYLAS_API_KEY'),
os.environ.get('NYLAS_API_URI')
)
grant_id = os.environ.get("NYLAS_GRANT_ID")
contact = nylas.contacts.create(
grant_id,
request_body={
"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"}]
}
)
print(contact)

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.

Delete a contact

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

The code sample below finds and deletes a specific contact from an end user’s account.

from dotenv import load_dotenv
load_dotenv()
import os
import sys
from nylas import Client
nylas = Client(
os.environ.get('NYLAS_API_KEY'),
os.environ.get('NYLAS_API_URI')
)
grant_id = os.environ.get("NYLAS_GRANT_ID")
contact_id = os.environ.get("CONTACT_ID")
request = nylas.contacts.destroy(
'<NYLAS_GRANT_ID>',
'<CONTACT_ID>',
)