Jump to related tools in the same category or review the original source on GitHub.

Apple Apps & Services @tyler6204 Updated 2/26/2026

šŸ‘¤ Apple Contacts OpenClaw Skill - ClawHub

Do you want your AI agent to automate Apple Contacts workflows? This free skill from ClawHub helps with apple apps & services tasks without building custom tools from scratch.

What this skill does

Look up contacts from macOS Contacts.app. Use when resolving phone numbers to names, finding contact info, or searching the address book.

Install

npx clawhub@latest install apple-contacts

Full SKILL.md

Open original
namedescription
apple-contactsLook up contacts from macOS Contacts.app. Use when resolving phone numbers to names, finding contact info, or searching the address book.

Apple Contacts

Query Contacts.app via AppleScript.

Quick Lookups

# By phone (name only)
osascript -e 'tell application "Contacts" to get name of every person whose value of phones contains "+1XXXXXXXXXX"'

# By name
osascript -e 'tell application "Contacts" to get name of every person whose name contains "John"'

# List all
osascript -e 'tell application "Contacts" to get name of every person'

Full Contact Info

āš ļø Don't use first person whose — buggy. Use this pattern:

# By phone
osascript -e 'tell application "Contacts"
  set matches to every person whose value of phones contains "+1XXXXXXXXXX"
  if length of matches > 0 then
    set p to item 1 of matches
    return {name of p, value of phones of p, value of emails of p}
  end if
end tell'

# By name
osascript -e 'tell application "Contacts"
  set matches to every person whose name contains "John"
  if length of matches > 0 then
    set p to item 1 of matches
    return {name of p, value of phones of p, value of emails of p}
  end if
end tell'

Phone Lookup

āš ļø Exact string match required — must match stored format exactly.

Stored Search Works?
+1XXXXXXXXXX +1XXXXXXXXXX āœ…
+1XXXXXXXXXX XXXXXXXXXX āŒ

Try with +1 prefix first. If fails, search by name instead.

Name Search

  • Case-insensitive
  • Partial match with contains
  • Exact match: use is instead of contains

Output

Returns comma-separated: name, phone1, [phone2...], email1, [email2...]

No match = empty output (not an error).

Original URL: https://github.com/openclaw/skills/blob/main/skills/tyler6204/apple-contacts

Related skills

If this matches your use case, these are close alternatives in the same category.