Skip to main content

Nextcloud — Contacts

CardDAV-backed contact lookup.

Integration IDnextcloud-contacts
AuthNC session
Required scopeCONTACTS, DAV
Sourceserver/integrations/nextcloudContactsTools.js

Tools

ToolPurpose
nextcloud_contacts_listList address books.
nextcloud_contacts_searchSearch by name / email / phone / org.
nextcloud_contacts_getFetch one contact by UID.
nextcloud_contacts_createAdd a new contact.
nextcloud_contacts_updateUpdate fields.
nextcloud_contacts_deleteDelete.

Endpoints (CardDAV)

PROPFIND /remote.php/dav/addressbooks/users/{uid}/
REPORT /remote.php/dav/addressbooks/users/{uid}/{book}/
GET /remote.php/dav/addressbooks/users/{uid}/{book}/{card}.vcf
PUT /remote.php/dav/addressbooks/users/{uid}/{book}/{card}.vcf
DELETE /remote.php/dav/addressbooks/users/{uid}/{book}/{card}.vcf

vCard fields exposed

FN, N, EMAIL, TEL, ORG, TITLE, BDAY, ADR, URL, NOTE, PHOTO, CATEGORIES. Custom X-* fields are read but not written.

Privacy

Contact details (email, phone, name, address) are exactly what the Privacy Shield redacts. With Standard mode, the assistant sees [email_1], [phone_1] etc. when reading contacts, and you see real values on screen. With Strict mode, names and organisations also tokenise.

Common errors

ErrorCauseFix
404 Not foundUID changed (NC re-imported a vCard)Re-search by name.
412 Precondition failedETag staleRe-fetch and retry.