{"id":15513225,"url":"https://github.com/Trulsaa/obsidian-icloud-contacts","last_synced_at":"2025-10-12T09:32:24.051Z","repository":{"id":211718334,"uuid":"729806385","full_name":"Trulsaa/obsidian-icloud-contacts","owner":"Trulsaa","description":"Obsidian plugin that imports contacts from iCloud and manages a note for each contact.","archived":false,"fork":false,"pushed_at":"2025-06-02T19:40:00.000Z","size":1544,"stargazers_count":22,"open_issues_count":4,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-03T10:57:39.646Z","etag":null,"topics":["contacts","icloud","icloud-contacts","icloud-sync","obsidian-md","obsidian-plugin"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Trulsaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.TXT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["Trulsaa"],"custom":["https://www.buymeacoffee.com/truls"]}},"created_at":"2023-12-10T12:23:16.000Z","updated_at":"2025-06-03T07:53:42.000Z","dependencies_parsed_at":"2023-12-10T13:29:20.057Z","dependency_job_id":"a7bde5d2-9a5b-4925-94ca-7fbdeb783d9e","html_url":"https://github.com/Trulsaa/obsidian-icloud-contacts","commit_stats":null,"previous_names":["trulsaa/obsidian-icloud-contacts"],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/Trulsaa/obsidian-icloud-contacts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trulsaa%2Fobsidian-icloud-contacts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trulsaa%2Fobsidian-icloud-contacts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trulsaa%2Fobsidian-icloud-contacts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trulsaa%2Fobsidian-icloud-contacts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Trulsaa","download_url":"https://codeload.github.com/Trulsaa/obsidian-icloud-contacts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trulsaa%2Fobsidian-icloud-contacts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010936,"owners_count":26084837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["contacts","icloud","icloud-contacts","icloud-sync","obsidian-md","obsidian-plugin"],"created_at":"2024-10-02T09:54:10.396Z","updated_at":"2025-10-12T09:32:24.046Z","avatar_url":"https://github.com/Trulsaa.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Trulsaa","https://www.buymeacoffee.com/truls"],"categories":["TypeScript"],"sub_categories":[],"readme":"# Obsidian iCloud contacts\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/manifest-json/v/Trulsaa/obsidian-icloud-contacts?color=blue\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/release-date/Trulsaa/obsidian-icloud-contacts\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/license/Trulsaa/obsidian-icloud-contacts\"\u003e\n\t\u003cimg src=\"https://img.shields.io/badge/dynamic/json?logo=obsidian\u0026color=%238a5cf5\u0026label=downloads\u0026query=%24%5B%22icloud-contacts%22%5D.downloads\u0026url=https%3A%2F%2Fraw.githubusercontent.com%2Fobsidianmd%2Fobsidian-releases%2Fmaster%2Fcommunity-plugin-stats.json\" alt=\"Obsidian Downloads\"\u003e\n\t\u003cimg src=\"https://img.shields.io/github/issues/Trulsaa/obsidian-icloud-contacts\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nThis plugin provides functions to sync contacts from your iCloud account to a folder in your vault. A contact file will look something like this.\n\u003c/p\u003e\n\n![Example contact file](images/example_contact_file.png)\n\n## Features\n\n-   Sync contacts from your iCloud to Obsidian\n-   Creates a file for each contact with properties corresponding to contact details.\n-   This plugin only updates the properties, the title and the top H1 header (the name). Any further info written in the files will not be touched when updating the contact.\n-   You can add your own properties to the frontmatter. The plugin will only manage the following property keys: name, organization, departement, telephone, email, url, related names, instant message, social profile, date, birthday pluss any of the kays you remove from the excluded keys setting.\n\n## How to use\n\n1. Install this plugin\n2. Add username and app specific password to the plugin settings.\n\t- If using Nextcloud instead iCloud, copy-paste the address book's [share URL](https://docs.nextcloud.com/server/19/user_manual/pim/contacts.html#adding-and-managing-address-books \"Nextcloud guide on where to find address book share URL\") into \"iCloud server URL\" field in plugin settings.\n4. Run the command `iCloud contacts: Update contacts` to sync your contacts\n5. After syncing is complete, you will see a notification stating how many Contacts have been synced.\n\nNow that you have a folder with all your contacts you can link all your projects to their participants. All your vacation plans to your travel partners. All your meeting notes to the participants.\n\nIn addition, you can for example use the [dataview plugin](https://blacksmithgu.github.io/obsidian-dataview/) to display a table with email and phone number for all the contacts you have referenced in the current file like this.\n\n````markdown\n```dataview\nTABLE email, telephone\nFROM outgoing([[#]])\nWHERE iCloudVCard\n```\n````\n\nAnd you can add this to you daily notes template. Given that the title of your daily notes are formatted like YYYY-MM-DD. Then this will create a list of all your contacts who has a birthday on that day.\n\n````markdown\n```dataview\nLIST\nFROM \"Contacts\"\nWHERE birthday.day = number(split(this.file.name, \"-\")[2]) AND birthday.month = number(split(this.file.name, \"-\")[1])\n```\n````\n\n## Commands\n\nThis plugin provides two commands. Use the command pallet to search for **iCloud contacts** and use one of the two commands to update your contacts folder.\n\n1. **Update Contacts**: Downloads all contacts from iCloud and updates the contacts files in you vault that based what contacts have been updated in iCloud.\n2. **Update all Contacts**: - Downloads all contacts form iCloud and rewrites all contacts files in your vault based on the contacts from iCloud. Usefull for when you have changed the Excluded keys setting.\n\n## Notes\n\n-   The **iCloudVCard** property is used to update contacts that have been changed. I also like it as a backup of my contacts in my vault.\n-   Only one address book from Nextcloud can be tracked.\n-   If encryption is enabled on Nextcloud, sync may fail.\n-   This plugin is not affiliated with Apple in any way.\n\n## Thanks\n\nThe IcloudClient in this codebase is copied and adapted from [tsdav](https://github.com/natelindev/tsdav).\n\n## Support\n\nIf you want to support me and my work, you can [buy me a coffee](https://www.buymeacoffee.com/truls).\n\n\u003cimg src=\"images/bmc_qr.png\" alt=\"drawing\" width=\"200\"/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTrulsaa%2Fobsidian-icloud-contacts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTrulsaa%2Fobsidian-icloud-contacts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTrulsaa%2Fobsidian-icloud-contacts/lists"}