> **recipe-sync-contacts-to-sheet** — skill 94 of 95 in [googleworkspace/cli](https://skillsdocs.com/googleworkspace/cli).
>
> Book (all skills, one file): https://skillsdocs.com/googleworkspace/cli.md
> Machine manifest: https://skillsdocs.com/googleworkspace/cli/.well-known/agent-skills/index.json
> Install the book: `npx skills add googleworkspace/cli`
> Upstream: https://github.com/googleworkspace/cli/blob/main/skills/recipe-sync-contacts-to-sheet/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/googleworkspace/cli/main/skills/recipe-sync-contacts-to-sheet/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/googleworkspace/cli/main/skills/recipe-sync-contacts-to-sheet/
> Licence: Apache-2.0 — https://spdx.org/licenses/Apache-2.0.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: recipe-sync-contacts-to-sheet
description: "Export Google Contacts directory to a Google Sheets spreadsheet."
metadata:
  version: 0.22.5
  openclaw:
    category: "recipe"
    domain: "productivity"
    requires:
      bins:
        - gws
      skills:
        - gws-people
        - gws-sheets
---

# Export Google Contacts to Sheets

> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-people`, `gws-sheets`

Export Google Contacts directory to a Google Sheets spreadsheet.

## Steps

1. List contacts: `gws people people listDirectoryPeople --params '{"readMask": "names,emailAddresses,phoneNumbers", "sources": ["DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE"], "pageSize": 100}' --format json`
2. Create a sheet: `gws sheets +append --spreadsheet SHEET_ID --range 'Contacts' --values '["Name", "Email", "Phone"]'`
3. Append each contact row: `gws sheets +append --spreadsheet SHEET_ID --range 'Contacts' --values '["Jane Doe", "jane@company.com", "+1-555-0100"]'`
