{"id":"43e98781-48d5-4da2-8288-271c176180da","entityType":"agent","slug":"clawhub-hith3sh-google-contacts-address-book","name":"Google Contacts","canonicalUrl":"https://www.xpersona.co/agent/clawhub-hith3sh-google-contacts-address-book","canonicalPath":"/agent/clawhub-hith3sh-google-contacts-address-book","generatedAt":"2026-10-09T18:40:33.088Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T11:57:12.273Z","emptyReason":null},"description":"Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w... Skill: Google Contacts Owner: hith3sh Summary: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w... Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-09T07:09:43.112Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traff","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.7K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:google-contacts-address-book","sourceUrl":"https://clawhub.ai/hith3sh/google-contacts-address-book","homepage":"https://clawhub.ai/hith3sh/skills/google-contacts-address-book","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/hith3sh/google-contacts-address-book","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/hith3sh/skills/google-contacts-address-book","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":69,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:57:12.273Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:57:12.273Z","emptyReason":null},"stars":null,"forks":null,"downloads":2720,"packageName":null,"latestVersion":"1.0.5","tractionLabel":"2.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T11:57:12.272Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T11:57:12.273Z","lastCrawledAt":"2026-10-09T11:57:12.272Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T11:57:12.272Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.5","createdAt":"2026-06-09T07:09:43.112Z","changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","fileCount":3,"zipByteSize":5620},{"version":"1.0.4","createdAt":"2026-06-09T04:55:31.585Z","changelog":"- Removed the sample file skill-card.md for cleanup. - No functional changes were made to the skill itself. - Documentation and usage instructions remain unchanged.","fileCount":3,"zipByteSize":5726},{"version":"1.0.1","createdAt":"2026-06-08T16:37:06.076Z","changelog":"- Added a Google Contacts logo to the documentation. - Removed the file skill-card.md. - Minor documentation updates; otherwise, no functional changes.","fileCount":3,"zipByteSize":5502},{"version":"0.1.1","createdAt":"2026-06-07T13:30:20.000Z","changelog":"Full rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.","fileCount":3,"zipByteSize":5618},{"version":"0.1.0","createdAt":"2026-05-16T17:49:58.969Z","changelog":"- Initial release of google-contacts-address-book skill, powered by ClawLink integration hub. - Enables searching, inspecting, creating, and updating Google Contacts and contact groups from chat. - Uses ClawLink for secure connection flows—no direct Google API credential management needed. - Supports dynamic discovery and safe execution of available Google Contacts tools. - Includes clear setup, pairing, and confirmation steps for user guidance and security.","fileCount":3,"zipByteSize":3286}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:google-contacts-address-book","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T18:40:33.087Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-google-contacts-address-book/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T11:57:12.273Z","emptyReason":null},"readme":"Skill: Google Contacts\n\nOwner: hith3sh\n\nSummary: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w...\n\nTags: latest:1.0.5\n\nVersion history:\n\nv1.0.5 | 2026-06-09T07:09:43.112Z | user\n\nAdd UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.\n\nv1.0.4 | 2026-06-09T04:55:31.585Z | auto\n\n- Removed the sample file skill-card.md for cleanup.\n- No functional changes were made to the skill itself.\n- Documentation and usage instructions remain unchanged.\n\nv1.0.1 | 2026-06-08T16:37:06.076Z | auto\n\n- Added a Google Contacts logo to the documentation.\n- Removed the file skill-card.md.\n- Minor documentation updates; otherwise, no functional changes.\n\nv0.1.1 | 2026-06-07T13:30:20.000Z | user\n\nFull rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.\n\nv0.1.0 | 2026-05-16T17:49:58.969Z | auto\n\n- Initial release of google-contacts-address-book skill, powered by ClawLink integration hub.\n- Enables searching, inspecting, creating, and updating Google Contacts and contact groups from chat.\n- Uses ClawLink for secure connection flows—no direct Google API credential management needed.\n- Supports dynamic discovery and safe execution of available Google Contacts tools.\n- Includes clear setup, pairing, and confirmation steps for user guidance and security.\n\nArchive index:\n\nArchive v1.0.5: 3 files, 5620 bytes\n\nFiles: skill-card.md (2336b), SKILL.md (13918b), _meta.json (147b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: google-contacts-address-book\ndescription: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill when users want to read or modify Google Contacts, manage groups, or look up people data.\n---\n\n# Google Contacts\n\n![Google Contacts](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-contacts.svg)\n\nAccess Google Contacts via the Google People API with managed OAuth authentication. Search, inspect, create, and update contacts and contact groups stored in Google Contacts.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-contacts-address-book) for hosted connection flows and credentials so you do not need to configure Google Contacts API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Contacts |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Contacts |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Google People  │\n│   (User Chat)   │     │   (OAuth)    │     │   (Contacts API) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Contacts   │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  People  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Contacts again.\"\n\n## Quick Start\n\n```bash\n# List contacts\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" --params '{}'\n\n# Search contacts by name\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" --params '{\"query\": \"John Smith\"}'\n\n# Get a contact by ID\nclawlink_call_tool --tool \"googlecontacts_get_contact\" --params '{\"resource_name\": \"people/123456789\"}'\n```\n\n## Authentication\n\nAll Google Contacts tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google People API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-contacts and connect Google Contacts.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-contacts` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-contacts\n```\n\n**Response:** Returns the live tool catalog for Google Contacts.\n\n### Reconnect\n\nIf Google Contacts tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-contacts\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-contacts`\n\n## Security & Permissions\n\n- Access is scoped to contacts and contact groups within the connected Google account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete contact, delete group) are marked as high-impact and must be confirmed.\n- Contact permissions can be inspected to understand sharing state before making changes.\n\n## Tool Reference\n\n### Contact Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contacts` | List all contacts in the user's Google Contacts | Read |\n| `googlecontacts_search_contacts` | Search contacts by name, email, or other fields | Read |\n| `googlecontacts_get_contact` | Retrieve a specific contact by resource name | Read |\n| `googlecontacts_create_contact` | Create a new contact in Google Contacts | Write |\n| `googlecontacts_update_contact` | Update an existing contact's information | Write |\n| `googlecontacts_delete_contact` | Delete a contact from Google Contacts | Write |\n\n### Contact Group Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contact_groups` | List all contact groups | Read |\n| `googlecontacts_get_contact_group` | Retrieve a specific contact group | Read |\n| `googlecontacts_create_contact_group` | Create a new contact group | Write |\n| `googlecontacts_update_contact_group` | Update a contact group's name | Write |\n| `googlecontacts_delete_contact_group` | Delete a contact group | Write |\n\n### Batch Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_batch_create_contacts` | Create multiple contacts in a single request | Write |\n| `googlecontacts_batch_update_contacts` | Update multiple contacts in a single request | Write |\n| `googlecontacts_batch_delete_contacts` | Delete multiple contacts in a single request | Write |\n\n### Directory & Profile\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_profile` | Get the user's Google profile information | Read |\n| `googlecontacts_list_people` | Search the directory for people | Read |\n\n### Photo Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_contact_photo` | Get a contact's profile photo | Read |\n| `googlecontacts_update_contact_photo` | Update a contact's profile photo | Write |\n\n## Code Examples\n\n### List all contacts\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" \\\n  --params '{\n    \"page_size\": 100\n  }'\n```\n\n### Search contacts by name\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" \\\n  --params '{\n    \"query\": \"John Smith\"\n  }'\n```\n\n### Create a new contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact\" \\\n  --params '{\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Doe\"}],\n    \"emailAddresses\": [{\"value\": \"jane.doe@example.com\", \"type\": \"home\"}],\n    \"phoneNumbers\": [{\"value\": \"+1-555-0100\", \"type\": \"mobile\"}]\n  }'\n```\n\n### Create a contact group\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact_group\" \\\n  --params '{\n    \"name\": \"Work Colleagues\"\n  }'\n```\n\n### Update a contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_update_contact\" \\\n  --params '{\n    \"resource_name\": \"people/123456789\",\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Smith\"}],\n    \"emailAddresses\": [{\"value\": \"jane.smith@example.com\", \"type\": \"work\"}]\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Contacts is connected.\n2. Call `clawlink_list_tools --integration google-contacts` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-contacts`.\n5. If no Google Contacts tools appear, direct the user to https://claw-link.dev/dashboard?add=google-contacts.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → search → get → call                                  │\n│                                                             │\n│  Example: Search contacts → Get details → Show results      │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Google Contacts uses the Google People API under the hood.\n- Contact IDs (resource names) are stable but not human-readable — always capture them from list/search responses for subsequent operations.\n- Contact groups let you organize contacts and can be used for batch operations.\n- Due to Google API scope restrictions, some directory and profile features may require additional OAuth scopes.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-contacts`. |\n| Missing connection | Google Contacts is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-contacts. |\n| `RESOURCE_NOT_FOUND` | Contact or contact group does not exist. Check the resource name. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-contacts`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google People API Overview](https://developers.google.com/people/api/rest)\n- [Google Contacts API](https://developers.google.com/contacts/v3)\n- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-contacts-address-book\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For general Google Drive file management\n- [Gmail](https://clawhub.ai/hith3sh/gmail) — For email operations in Google Workspace\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-contacts-address-book)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-contacts-address-book\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780988983112\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nGoogle Contacts API integration with managed OAuth for searching, inspecting, creating, and updating contacts and contact groups stored in Google People.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nOpenClaw users and developers use this skill to connect a Google account through ClawLink, inspect Google Contacts data, and perform confirmed contact, group, photo, and batch changes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Contact, group, photo, and batch write operations can change or delete data in the connected Google account.\n\nMitigation: Require clear user confirmation before any write or delete operation, including the target resource and intended effect.\n\nRisk: Connecting the wrong Google account could expose or modify unintended contacts.\n\nMitigation: Connect only the intended Google account and review the OAuth scopes during pairing.\n\nRisk: The skill relies on the ClawLink plugin and hosted OAuth connection.\n\nMitigation: Install only if the user trusts ClawLink and the ClawHub plugin source.\n\n## Reference(s):\n\n- [Google People API Overview](https://developers.google.com/people/api/rest)\n- [Google Contacts API](https://developers.google.com/contacts/v3)\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-contacts-address-book)\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/skills/google-contacts-address-book)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON tool parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a connected Google account through ClawLink; write operations require explicit user confirmation.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release evidence, released 2026-06-09)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.4: 3 files, 5726 bytes\n\nFiles: skill-card.md (2725b), SKILL.md (13675b), _meta.json (147b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: google-contacts-address-book\ndescription: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill when users want to read or modify Google Contacts, manage groups, or look up people data.\n---\n\n# Google Contacts\n\n![Google Contacts](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-contacts.svg)\n\nAccess Google Contacts via the Google People API with managed OAuth authentication. Search, inspect, create, and update contacts and contact groups stored in Google Contacts.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Contacts API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Contacts |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Contacts |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Google People  │\n│   (User Chat)   │     │   (OAuth)    │     │   (Contacts API) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Contacts   │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  People  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Contacts again.\"\n\n## Quick Start\n\n```bash\n# List contacts\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" --params '{}'\n\n# Search contacts by name\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" --params '{\"query\": \"John Smith\"}'\n\n# Get a contact by ID\nclawlink_call_tool --tool \"googlecontacts_get_contact\" --params '{\"resource_name\": \"people/123456789\"}'\n```\n\n## Authentication\n\nAll Google Contacts tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google People API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-contacts and connect Google Contacts.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-contacts` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-contacts\n```\n\n**Response:** Returns the live tool catalog for Google Contacts.\n\n### Reconnect\n\nIf Google Contacts tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-contacts\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-contacts`\n\n## Security & Permissions\n\n- Access is scoped to contacts and contact groups within the connected Google account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete contact, delete group) are marked as high-impact and must be confirmed.\n- Contact permissions can be inspected to understand sharing state before making changes.\n\n## Tool Reference\n\n### Contact Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contacts` | List all contacts in the user's Google Contacts | Read |\n| `googlecontacts_search_contacts` | Search contacts by name, email, or other fields | Read |\n| `googlecontacts_get_contact` | Retrieve a specific contact by resource name | Read |\n| `googlecontacts_create_contact` | Create a new contact in Google Contacts | Write |\n| `googlecontacts_update_contact` | Update an existing contact's information | Write |\n| `googlecontacts_delete_contact` | Delete a contact from Google Contacts | Write |\n\n### Contact Group Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contact_groups` | List all contact groups | Read |\n| `googlecontacts_get_contact_group` | Retrieve a specific contact group | Read |\n| `googlecontacts_create_contact_group` | Create a new contact group | Write |\n| `googlecontacts_update_contact_group` | Update a contact group's name | Write |\n| `googlecontacts_delete_contact_group` | Delete a contact group | Write |\n\n### Batch Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_batch_create_contacts` | Create multiple contacts in a single request | Write |\n| `googlecontacts_batch_update_contacts` | Update multiple contacts in a single request | Write |\n| `googlecontacts_batch_delete_contacts` | Delete multiple contacts in a single request | Write |\n\n### Directory & Profile\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_profile` | Get the user's Google profile information | Read |\n| `googlecontacts_list_people` | Search the directory for people | Read |\n\n### Photo Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_contact_photo` | Get a contact's profile photo | Read |\n| `googlecontacts_update_contact_photo` | Update a contact's profile photo | Write |\n\n## Code Examples\n\n### List all contacts\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" \\\n  --params '{\n    \"page_size\": 100\n  }'\n```\n\n### Search contacts by name\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" \\\n  --params '{\n    \"query\": \"John Smith\"\n  }'\n```\n\n### Create a new contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact\" \\\n  --params '{\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Doe\"}],\n    \"emailAddresses\": [{\"value\": \"jane.doe@example.com\", \"type\": \"home\"}],\n    \"phoneNumbers\": [{\"value\": \"+1-555-0100\", \"type\": \"mobile\"}]\n  }'\n```\n\n### Create a contact group\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact_group\" \\\n  --params '{\n    \"name\": \"Work Colleagues\"\n  }'\n```\n\n### Update a contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_update_contact\" \\\n  --params '{\n    \"resource_name\": \"people/123456789\",\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Smith\"}],\n    \"emailAddresses\": [{\"value\": \"jane.smith@example.com\", \"type\": \"work\"}]\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Contacts is connected.\n2. Call `clawlink_list_tools --integration google-contacts` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-contacts`.\n5. If no Google Contacts tools appear, direct the user to https://claw-link.dev/dashboard?add=google-contacts.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → search → get → call                                  │\n│                                                             │\n│  Example: Search contacts → Get details → Show results      │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Google Contacts uses the Google People API under the hood.\n- Contact IDs (resource names) are stable but not human-readable — always capture them from list/search responses for subsequent operations.\n- Contact groups let you organize contacts and can be used for batch operations.\n- Due to Google API scope restrictions, some directory and profile features may require additional OAuth scopes.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-contacts`. |\n| Missing connection | Google Contacts is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-contacts. |\n| `RESOURCE_NOT_FOUND` | Contact or contact group does not exist. Check the resource name. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-contacts`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google People API Overview](https://developers.google.com/people/api/rest)\n- [Google Contacts API](https://developers.google.com/contacts/v3)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For general Google Drive file management\n- [Gmail](https://clawhub.ai/hith3sh/gmail) — For email operations in Google Workspace\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-contacts-address-book\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1780980931585\n}\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nGoogle Contacts API integration with managed OAuth for searching, inspecting, creating, and updating contacts and contact groups stored in Google People. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to connect an agent to Google Contacts through ClawLink, then search, inspect, create, update, and manage contacts and contact groups in the connected Google account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill requires OAuth access and sensitive credentials for the connected Google account. <br>\nMitigation: Install only when the skill name, publisher, and requested capabilities match expectations, and use the hosted ClawLink connection flow rather than placing API keys in chat. <br>\nRisk: Contact create, update, batch, photo, and delete operations can change or remove user contact data. <br>\nMitigation: Confirm the exact target resource and intended effect with the user, preview write or destructive operations when available, and prefer read, list, and search operations before making changes. <br>\nRisk: The available Google Contacts tools may differ from the documented examples if the live integration is not connected or the catalog changes. <br>\nMitigation: Verify the connection and live tool catalog before use, describe unfamiliar tools before calling them, and report real tool errors instead of guessing missing capabilities. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/hith3sh/google-contacts-address-book) <br>\n- [Google People API overview](https://developers.google.com/people/api/rest) <br>\n- [Google Contacts API](https://developers.google.com/contacts/v3) <br>\n- [ClawLink OpenClaw docs](https://docs.claw-link.dev/openclaw) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, API Calls, Configuration] <br>\n**Output Format:** [Markdown with inline bash commands and JSON tool-call examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses ClawLink tool calls for the connected Google Contacts account; write and destructive operations require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 5502 bytes\n\nFiles: skill-card.md (2176b), SKILL.md (13675b), _meta.json (147b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: google-contacts-address-book\ndescription: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill when users want to read or modify Google Contacts, manage groups, or look up people data.\n---\n\n# Google Contacts\n\n![Google Contacts](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-contacts.svg)\n\nAccess Google Contacts via the Google People API with managed OAuth authentication. Search, inspect, create, and update contacts and contact groups stored in Google Contacts.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Contacts API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Contacts |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Contacts |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Google People  │\n│   (User Chat)   │     │   (OAuth)    │     │   (Contacts API) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Contacts   │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  People  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Contacts again.\"\n\n## Quick Start\n\n```bash\n# List contacts\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" --params '{}'\n\n# Search contacts by name\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" --params '{\"query\": \"John Smith\"}'\n\n# Get a contact by ID\nclawlink_call_tool --tool \"googlecontacts_get_contact\" --params '{\"resource_name\": \"people/123456789\"}'\n```\n\n## Authentication\n\nAll Google Contacts tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google People API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-contacts and connect Google Contacts.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-contacts` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-contacts\n```\n\n**Response:** Returns the live tool catalog for Google Contacts.\n\n### Reconnect\n\nIf Google Contacts tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-contacts\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-contacts`\n\n## Security & Permissions\n\n- Access is scoped to contacts and contact groups within the connected Google account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete contact, delete group) are marked as high-impact and must be confirmed.\n- Contact permissions can be inspected to understand sharing state before making changes.\n\n## Tool Reference\n\n### Contact Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contacts` | List all contacts in the user's Google Contacts | Read |\n| `googlecontacts_search_contacts` | Search contacts by name, email, or other fields | Read |\n| `googlecontacts_get_contact` | Retrieve a specific contact by resource name | Read |\n| `googlecontacts_create_contact` | Create a new contact in Google Contacts | Write |\n| `googlecontacts_update_contact` | Update an existing contact's information | Write |\n| `googlecontacts_delete_contact` | Delete a contact from Google Contacts | Write |\n\n### Contact Group Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contact_groups` | List all contact groups | Read |\n| `googlecontacts_get_contact_group` | Retrieve a specific contact group | Read |\n| `googlecontacts_create_contact_group` | Create a new contact group | Write |\n| `googlecontacts_update_contact_group` | Update a contact group's name | Write |\n| `googlecontacts_delete_contact_group` | Delete a contact group | Write |\n\n### Batch Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_batch_create_contacts` | Create multiple contacts in a single request | Write |\n| `googlecontacts_batch_update_contacts` | Update multiple contacts in a single request | Write |\n| `googlecontacts_batch_delete_contacts` | Delete multiple contacts in a single request | Write |\n\n### Directory & Profile\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_profile` | Get the user's Google profile information | Read |\n| `googlecontacts_list_people` | Search the directory for people | Read |\n\n### Photo Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_contact_photo` | Get a contact's profile photo | Read |\n| `googlecontacts_update_contact_photo` | Update a contact's profile photo | Write |\n\n## Code Examples\n\n### List all contacts\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" \\\n  --params '{\n    \"page_size\": 100\n  }'\n```\n\n### Search contacts by name\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" \\\n  --params '{\n    \"query\": \"John Smith\"\n  }'\n```\n\n### Create a new contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact\" \\\n  --params '{\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Doe\"}],\n    \"emailAddresses\": [{\"value\": \"jane.doe@example.com\", \"type\": \"home\"}],\n    \"phoneNumbers\": [{\"value\": \"+1-555-0100\", \"type\": \"mobile\"}]\n  }'\n```\n\n### Create a contact group\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact_group\" \\\n  --params '{\n    \"name\": \"Work Colleagues\"\n  }'\n```\n\n### Update a contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_update_contact\" \\\n  --params '{\n    \"resource_name\": \"people/123456789\",\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Smith\"}],\n    \"emailAddresses\": [{\"value\": \"jane.smith@example.com\", \"type\": \"work\"}]\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Contacts is connected.\n2. Call `clawlink_list_tools --integration google-contacts` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-contacts`.\n5. If no Google Contacts tools appear, direct the user to https://claw-link.dev/dashboard?add=google-contacts.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → search → get → call                                  │\n│                                                             │\n│  Example: Search contacts → Get details → Show results      │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Google Contacts uses the Google People API under the hood.\n- Contact IDs (resource names) are stable but not human-readable — always capture them from list/search responses for subsequent operations.\n- Contact groups let you organize contacts and can be used for batch operations.\n- Due to Google API scope restrictions, some directory and profile features may require additional OAuth scopes.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-contacts`. |\n| Missing connection | Google Contacts is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-contacts. |\n| `RESOURCE_NOT_FOUND` | Contact or contact group does not exist. Check the resource name. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-contacts`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google People API Overview](https://developers.google.com/people/api/rest)\n- [Google Contacts API](https://developers.google.com/contacts/v3)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For general Google Drive file management\n- [Gmail](https://clawhub.ai/hith3sh/gmail) — For email operations in Google Workspace\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-contacts-address-book\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780936626076\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nGoogle Contacts API integration with managed OAuth for searching, inspecting, creating, and updating contacts and contact groups stored in Google People. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to connect an agent to Google Contacts through managed OAuth, then search, inspect, create, update, or organize contacts and contact groups. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access and change contacts in the connected Google account after OAuth connection. <br>\nMitigation: Approve only expected OAuth scopes and write previews, and disconnect the Google Contacts integration or uninstall the ClawLink plugin when access is no longer needed. <br>\nRisk: Incorrect or unintended contact writes could modify or delete address book data. <br>\nMitigation: Review the target resource and intended effect before any create, update, or delete operation; execute writes only after explicit user confirmation. <br>\n\n\n## Reference(s): <br>\n- [Google People API Overview](https://developers.google.com/people/api/rest) <br>\n- [Google Contacts API](https://developers.google.com/contacts/v3) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected Google account through ClawLink; write operations require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.1: 3 files, 5618 bytes\n\nFiles: skill-card.md (2543b), SKILL.md (13548b), _meta.json (147b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: google-contacts-address-book\ndescription: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill when users want to read or modify Google Contacts, manage groups, or look up people data.\n---\n\n# Google Contacts\n\nAccess Google Contacts via the Google People API with managed OAuth authentication. Search, inspect, create, and update contacts and contact groups stored in Google Contacts.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Google Contacts API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Contacts |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Contacts |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Google People  │\n│   (User Chat)   │     │   (OAuth)    │     │   (Contacts API) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Contacts   │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  People  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Contacts again.\"\n\n## Quick Start\n\n```bash\n# List contacts\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" --params '{}'\n\n# Search contacts by name\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" --params '{\"query\": \"John Smith\"}'\n\n# Get a contact by ID\nclawlink_call_tool --tool \"googlecontacts_get_contact\" --params '{\"resource_name\": \"people/123456789\"}'\n```\n\n## Authentication\n\nAll Google Contacts tool calls are authenticated automatically by ClawLink using the user's connected Google account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Google People API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=google-contacts and connect Google Contacts.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `google-contacts` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration google-contacts\n```\n\n**Response:** Returns the live tool catalog for Google Contacts.\n\n### Reconnect\n\nIf Google Contacts tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=google-contacts\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration google-contacts`\n\n## Security & Permissions\n\n- Access is scoped to contacts and contact groups within the connected Google account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (delete contact, delete group) are marked as high-impact and must be confirmed.\n- Contact permissions can be inspected to understand sharing state before making changes.\n\n## Tool Reference\n\n### Contact Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contacts` | List all contacts in the user's Google Contacts | Read |\n| `googlecontacts_search_contacts` | Search contacts by name, email, or other fields | Read |\n| `googlecontacts_get_contact` | Retrieve a specific contact by resource name | Read |\n| `googlecontacts_create_contact` | Create a new contact in Google Contacts | Write |\n| `googlecontacts_update_contact` | Update an existing contact's information | Write |\n| `googlecontacts_delete_contact` | Delete a contact from Google Contacts | Write |\n\n### Contact Group Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_list_contact_groups` | List all contact groups | Read |\n| `googlecontacts_get_contact_group` | Retrieve a specific contact group | Read |\n| `googlecontacts_create_contact_group` | Create a new contact group | Write |\n| `googlecontacts_update_contact_group` | Update a contact group's name | Write |\n| `googlecontacts_delete_contact_group` | Delete a contact group | Write |\n\n### Batch Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_batch_create_contacts` | Create multiple contacts in a single request | Write |\n| `googlecontacts_batch_update_contacts` | Update multiple contacts in a single request | Write |\n| `googlecontacts_batch_delete_contacts` | Delete multiple contacts in a single request | Write |\n\n### Directory & Profile\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_profile` | Get the user's Google profile information | Read |\n| `googlecontacts_list_people` | Search the directory for people | Read |\n\n### Photo Operations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `googlecontacts_get_contact_photo` | Get a contact's profile photo | Read |\n| `googlecontacts_update_contact_photo` | Update a contact's profile photo | Write |\n\n## Code Examples\n\n### List all contacts\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" \\\n  --params '{\n    \"page_size\": 100\n  }'\n```\n\n### Search contacts by name\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" \\\n  --params '{\n    \"query\": \"John Smith\"\n  }'\n```\n\n### Create a new contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact\" \\\n  --params '{\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Doe\"}],\n    \"emailAddresses\": [{\"value\": \"jane.doe@example.com\", \"type\": \"home\"}],\n    \"phoneNumbers\": [{\"value\": \"+1-555-0100\", \"type\": \"mobile\"}]\n  }'\n```\n\n### Create a contact group\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_create_contact_group\" \\\n  --params '{\n    \"name\": \"Work Colleagues\"\n  }'\n```\n\n### Update a contact\n\n```bash\nclawlink_call_tool --tool \"googlecontacts_update_contact\" \\\n  --params '{\n    \"resource_name\": \"people/123456789\",\n    \"names\": [{\"givenName\": \"Jane\", \"familyName\": \"Smith\"}],\n    \"emailAddresses\": [{\"value\": \"jane.smith@example.com\", \"type\": \"work\"}]\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Google Contacts is connected.\n2. Call `clawlink_list_tools --integration google-contacts` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-contacts`.\n5. If no Google Contacts tools appear, direct the user to https://claw-link.dev/dashboard?add=google-contacts.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → search → get → call                                  │\n│                                                             │\n│  Example: Search contacts → Get details → Show results      │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves    │\n│           → Execute update                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Google Contacts uses the Google People API under the hood.\n- Contact IDs (resource names) are stable but not human-readable — always capture them from list/search responses for subsequent operations.\n- Contact groups let you organize contacts and can be used for batch operations.\n- Due to Google API scope restrictions, some directory and profile features may require additional OAuth scopes.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration google-contacts`. |\n| Missing connection | Google Contacts is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-contacts. |\n| `RESOURCE_NOT_FOUND` | Contact or contact group does not exist. Check the resource name. |\n| `INVALID_ARGUMENT` | Invalid parameter or missing required field. Review the tool schema with `clawlink_describe_tool`. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `google-contacts`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Google People API Overview](https://developers.google.com/people/api/rest)\n- [Google Contacts API](https://developers.google.com/contacts/v3)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n## Related Skills\n\n- [Google Drive](https://clawhub.ai/hith3sh/google-drive-files) — For general Google Drive file management\n- [Gmail](https://clawhub.ai/hith3sh/gmail) — For email operations in Google Workspace\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-contacts-address-book\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1780839020000\n}\n\nFile v0.1.1:skill-card.md\n\n## Description: <br>\nGoogle Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill when users want to read or modify Google Contacts, manage groups, or look up people data. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to search, inspect, create, update, and delete Google Contacts records and contact groups through a connected Google account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses OAuth access to Google Contacts data in the connected account. <br>\nMitigation: Review the Google consent scopes, connect only an account where contact access is acceptable, and keep the ClawLink connection active only as needed. <br>\nRisk: Create, update, batch, and delete operations can change or remove contacts and contact groups. <br>\nMitigation: Preview the action, verify the target resource and intended effect, and proceed only after explicit user confirmation. <br>\nRisk: A requested Google Contacts capability or parameter may not match the live tool catalog. <br>\nMitigation: List or describe the available Google Contacts tools before unfamiliar or ambiguous calls, and report real tool errors instead of guessing results. <br>\n\n\n## Reference(s): <br>\n- [Google People API Overview](https://developers.google.com/people/api/rest) <br>\n- [Google Contacts API](https://developers.google.com/contacts/v3) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, configuration, API calls] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected Google account through ClawLink; write and delete actions require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n0.1.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.0: 3 files, 3286 bytes\n\nFiles: skill-card.md (1941b), SKILL.md (5073b), _meta.json (147b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: google-contacts-address-book\ndescription: Search, inspect, create, and update Google Contacts and contact groups - powered by ClawLink.\n---\n\n# Google Contacts\n\nWork with Google Contacts from chat - search, inspect, create, and update contacts and contact groups.\n\nPowered by [ClawLink](https://claw-link.dev), an integration hub for OpenClaw that handles hosted connection flows and credentials so you don't need to configure Google Contacts API access yourself.\n\n## Quick start\n\n1. Install the verified ClawLink plugin: `openclaw plugins install clawhub:clawlink-plugin`\n2. Start a fresh OpenClaw chat if the plugin was just installed and ClawLink tools are not visible yet\n3. If ClawLink is not configured, call `clawlink_begin_pairing`\n4. Tell the user to open the returned pairing URL, sign in to ClawLink if needed, and approve the device\n5. After the user confirms approval, call `clawlink_get_pairing_status`\n6. Tell the user to connect Google Contacts at [claw-link.dev/dashboard?add=google-contacts](https://claw-link.dev/dashboard?add=google-contacts)\n7. When the user confirms Google Contacts is connected, call `clawlink_list_integrations` and then `clawlink_list_tools` with the `google-contacts` integration slug\n\n## Setup details\n\n### Installing the plugin\n\nIf the ClawLink plugin is not installed yet, tell the user to run:\n\n```\nopenclaw plugins install clawhub:clawlink-plugin\n```\n\nIf the current chat started before the plugin was installed and ClawLink tools are still unavailable, tell the user to start a fresh chat so OpenClaw reloads the plugin tool catalog.\n\n### Pairing ClawLink\n\nIf ClawLink reports that the plugin is not configured, the plugin has not been paired with the user's ClawLink account yet.\n\n1. Call `clawlink_begin_pairing`.\n2. Tell the user to open the returned pairing URL in their browser.\n3. The user signs in to ClawLink if needed and approves the OpenClaw device.\n4. After the user confirms approval, call `clawlink_get_pairing_status` to finish local setup.\n\nThe resulting device credential is stored locally in OpenClaw's plugin config and is only sent to `claw-link.dev`. The user should not paste raw credentials into chat.\n\n### Connecting Google Contacts\n\nTell the user to open https://claw-link.dev/dashboard?add=google-contacts and connect Google Contacts there. The page opens the add-connection panel filtered to Google Contacts. ClawLink's hosted page runs the provider connection flow. When they confirm it is done, call `clawlink_list_integrations` to verify, then call `clawlink_list_tools` with integration `google-contacts`.\n\n## Using Google Contacts tools\n\nClawLink provides tools dynamically based on what the user has connected. You do not need to know tool names or schemas in advance.\n\n### Discovery\n\n1. Call `clawlink_list_integrations` to confirm Google Contacts is connected.\n2. Call `clawlink_list_tools` with integration `google-contacts`.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `google-contacts`.\n5. If no Google Contacts tools appear, direct the user to https://claw-link.dev/dashboard?add=google-contacts.\n\n### Execution\n\n1. Call `clawlink_describe_tool` before using an unfamiliar tool, before any write, or when the request is ambiguous.\n2. Use the returned schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups`.\n3. Prefer read, list, search, and get operations before writes.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first, then confirm with the user.\n5. Execute with `clawlink_call_tool`.\n6. If it fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## What you can do\n\nTypical Google Contacts tasks (actual availability depends on the user's connected account, permissions, scopes, and current ClawLink tool catalog):\n\n- List and search contacts\n- Inspect contact details and groups\n- Create or update contacts after confirmation\n- Manage contact groups when available\n- Check profile and directory people data\n\n## Rules\n\n- Always use ClawLink tools for Google Contacts. Do not ask the user for separate Google Contacts credentials.\n- Do not claim a capability is missing without checking the live ClawLink catalog in the current turn.\n- Do not invent slash commands or ask the user to paste raw credentials.\n- Ask for confirmation before destructive, external-facing, or bulk write actions.\n- If Google Contacts is not connected, direct the user to https://claw-link.dev/dashboard?add=google-contacts.\n- Never echo or repeat the user's ClawLink credential.\n\n## Resources\n\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n- ClawLink Source: https://github.com/hith3sh/clawlink\n- Google Contacts API: https://developers.google.com/people\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-contacts-address-book\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778953798969\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nSearch, inspect, create, and update Google Contacts and contact groups - powered by ClawLink. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nPeople who use OpenClaw can manage Google Contacts from chat, including searching contacts, inspecting contact details, and creating or updating contacts and contact groups through ClawLink. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill relies on ClawLink as the broker for Google Contacts access. <br>\nMitigation: Install only if ClawLink is acceptable for the environment and connect only the intended Google account. <br>\nRisk: Contact or group changes can modify external account data. <br>\nMitigation: Review Google permissions during connection and approve contact or group changes only after checking the preview. <br>\n\n\n## Reference(s): <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n- [Google Contacts API](https://developers.google.com/people) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and URLs] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses ClawLink tool discovery and preview flows before contact or group changes.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Google Contacts Owner: hith3sh Summary: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w... Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-09T07:09:43.112Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traff","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Google People  │\n│   (User Chat)   │     │   (OAuth)    │     │   (Contacts API) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Contacts   │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  People  │\n   └──────────┘           └──────────┘           └──────────┘"},{"language":"bash","snippet":"openclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart"},{"language":"bash","snippet":"# List contacts\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" --params '{}'\n\n# Search contacts by name\nclawlink_call_tool --tool \"googlecontacts_search_contacts\" --params '{\"query\": \"John Smith\"}'\n\n# Get a contact by ID\nclawlink_call_tool --tool \"googlecontacts_get_contact\" --params '{\"resource_name\": \"people/123456789\"}'"},{"language":"bash","snippet":"clawlink_list_integrations"},{"language":"bash","snippet":"clawlink_list_tools --integration google-contacts"},{"language":"bash","snippet":"clawlink_call_tool --tool \"googlecontacts_list_contacts\" \\\n  --params '{\n    \"page_size\": 100\n  }'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: google-contacts-address-book\ndescription: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill when users want to read or modify Google Contacts, manage groups, or look up people data.\n---\n\n# Google Contacts\n\n![Google Contacts](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/google-contacts.svg)\n\nAccess Google Contacts via the Google People API with managed OAuth authentication. Search, inspect, create, and update contacts and contact groups stored in Google Contacts.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-contacts-address-book) for hosted connection flows and credentials so you do not need to configure Google Contacts API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Google Contacts |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Google Contacts |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Google People  │\n│   (User Chat)   │     │   (OAuth)    │     │   (Contacts API) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Contacts   │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Google  │\n   │  File    │           │ Auth     │           │  People  │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Google Contacts again.\"\n\n## Quick Start\n\n```bash\n# List contacts\nclawlink_call_tool --tool \"googlecontacts_list_contacts\" --params '{}'\n\n# Search contacts by na"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"google-contacts-address-book\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780988983112\n}"},{"path":"skill-card.md","content":"## Description:\n\nGoogle Contacts API integration with managed OAuth for searching, inspecting, creating, and updating contacts and contact groups stored in Google People.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nOpenClaw users and developers use this skill to connect a Google account through ClawLink, inspect Google Contacts data, and perform confirmed contact, group, photo, and batch changes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Contact, group, photo, and batch write operations can change or delete data in the connected Google account.\n\nMitigation: Require clear user confirmation before any write or delete operation, including the target resource and intended effect.\n\nRisk: Connecting the wrong Google account could expose or modify unintended contacts.\n\nMitigation: Connect only the intended Google account and review the OAuth scopes during pairing.\n\nRisk: The skill relies on the ClawLink plugin and hosted OAuth connection.\n\nMitigation: Install only if the user trusts ClawLink and the ClawHub plugin source.\n\n## Reference(s):\n\n- [Google People API Overview](https://developers.google.com/people/api/rest)\n- [Google Contacts API](https://developers.google.com/contacts/v3)\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=google-contacts-address-book)\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/skills/google-contacts-address-book)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON tool parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires a connected Google account through ClawLink; write operations require explicit user confirmation.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release evidence, released 2026-06-09)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w... Skill: Google Contacts Owner: hith3sh Summary: Google Contacts API integration with managed OAuth. Search, inspect, create, and update contacts and contact groups stored in Google People. Use this skill w... Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-09T07:09:43.112Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traff","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1019,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:57:12.273Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T11:57:12.273Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:40:33.088Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}