Go-to-market automation — Google Workspace, LinkedIn (Unipile), and Attio CRM
Project description
agent-work
Go-to-market automation toolkit that connects Google Workspace, LinkedIn (via Unipile), Attio CRM, and ClearFeed into agent-driven workflows.
Built to be operated by coding agents (Claude Code, Codex, Gemini CLI, etc.) through natural-language recipes.
How it works
recipes/*.md Declarative workflow specs (what to do)
src/agent_work/ Python clients for each service (how to do it)
scripts/ Standalone utility scripts
An agent reads a recipe, calls the service clients, and writes the output to Google Sheets.
Services
| Client | Service | Transport |
|---|---|---|
GWS |
Google Workspace (Gmail, Calendar, Drive, Sheets) | gws CLI (subprocess) |
UnipileClient |
LinkedIn (messaging, posts, profiles) | REST API via httpx |
AttioClient |
Attio CRM (people, companies, deals, notes, tasks) | REST API via httpx |
ClearFeedClient |
ClearFeed (tickets, collections, customers) | REST API via httpx |
All clients are synchronous and return raw dicts. Unipile, Attio, and ClearFeed are context managers.
Recipes
| Recipe | Description |
|---|---|
| LinkedIn Inbox Triage | Categorize LinkedIn messages, cross-reference CRM, suggest follow-ups |
| Calendar Meeting Prep | Prep briefs for upcoming meetings with CRM + LinkedIn context |
| CRM Pipeline Review | Pipeline snapshot — overdue tasks, recent notes, stale contacts |
| Email Inbox Summary | Gmail categorization with CRM cross-reference |
Run any recipe by telling your agent: Run recipes/<name>.md
Setup
uv sync # install dependencies
gws auth setup # authenticate Google Workspace CLI
cp .env.example .env # add your API keys
Environment variables
| Variable | Required | Service |
|---|---|---|
ATTIO_KEY |
yes | Attio CRM |
CLEARFEED_API_KEY |
yes | ClearFeed |
UNIPILE_DSN |
yes | Unipile |
UNIPILE_ACCESS_TOKEN |
yes | Unipile |
SUPABASE_URL |
no | Supabase |
SUPABASE_PASSWORD |
no | Supabase |
SUPABASE_KEY |
no | Supabase |
Quick start
# verify all services are connected
uv run python scripts/smoke.py
Agent compatibility
This repo includes instruction files for multiple coding agents:
| File | Agent |
|---|---|
CLAUDE.md |
Claude Code |
AGENTS.md |
OpenAI Codex |
GEMINI.md |
Gemini CLI |
Each file contains the same project context tailored to the agent's expected format.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_work-0.1.0.tar.gz.
File metadata
- Download URL: agent_work-0.1.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a0a7a474f6965b48db02643f63f5af960777cec141e2f324c27fe225b70c748
|
|
| MD5 |
eb9820956a424b7968e8ba12f9ed4af7
|
|
| BLAKE2b-256 |
07b660008111ad9dc2483a5e784ab16f06347d0e18cb058b55bbe6e0464ad8ae
|
File details
Details for the file agent_work-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agent_work-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d9f0af5c9be229438261e43a285a7e2b4514753aaf24a58ca3d193b27cf6d2
|
|
| MD5 |
53baf0c1dd9afead3a998ad1449fb654
|
|
| BLAKE2b-256 |
c41dbfdfde264714da25c95e77ee489eb625e44850078631e9a30da4f4e6ce8a
|