跳到正文
cccskills
免费在 GitHub 公开

personal-crm

Personal CRM built on monday.com. Tracks contacts, last interactions, next meetings, and topics. Runs daily to update from Calendar + email. Delivers pre-meeting briefings as part of morning-briefing. Use when: someone asks about a contact, before a meeting, or during daily CRM sync.

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Load Local Context

CONTEXT_FILE="/path/to/workspace/skills/personal-crm/.context"
[ -f "$CONTEXT_FILE" ] && source "$CONTEXT_FILE"
# Then use: $CRM_BOARD_ID, $OWNER_EMAIL, etc.

Personal CRM Skill

CRM נבנה על monday.com — ללא integrations חדשות. מבוסס על Calendar API + gog Gmail.


Board Structure

  • Board: Personal CRM — the owner (ID in .context)
  • Columns: Name | Email | Phone | Role | Last Contact | Next Meeting | Relationship | Notes | Last Topic
  • Groups: Leadership | Team | External

Daily CRM Sync (run as part of morning-briefing or standalone cron)

Step 1 — Fetch today's calendar events

# Use Calendar API directly (gog CLI auth is broken — use credentials.json)
# See calendar-setup skill for full auth flow
ACCESS_TOKEN=$(...)  # refresh from /path/to/openclaw/.gog/credentials.json

TODAY=$(date -u +%Y-%m-%d)
TOMORROW=$(date -u -d '+1 day' +%Y-%m-%d 2>/dev/null || date -u -v+1d +%Y-%m-%d)

curl -s "https://www.googleapis.com/calendar/v3/calendars/netanelab%40monday.com/events?timeMin=${TODAY}T00:00:00Z&timeMax=${TOMORROW}T00:00:00Z&singleEvents=true&orderBy=startTime" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Step 2 — For each meeting attendee

  1. Search CRM board by name/email
  2. If found → update "Last Contact" to today, update "Last Topic" with meeting title
  3. If not found → create new contact item
  4. If meeting is upcoming (>now) → update "Next Meeting" date

Step 3 — Update monday.com

Use change_item_column_values tool:
- date_mm242bkk = Last Contact date
- date_mm24fnmn = Next Meeting date  
- text_mm24jwh8 = Last Topic (meeting title / email subject)

Pre-Meeting Briefing

Run before each meeting (integrate into morning-briefing skill):

For each meeting today with external attendees:

  1. Fetch contact from CRM board
  2. Pull: Last Contact, Last Topic, Notes, Role
  3. Format briefing:
📋 Meeting Prep: [Meeting Title] at [TIME]

Attendees:
• [Name] — [Role]
  Last spoke: [Last Contact date] | Topic: [Last Topic]
  Notes: [Notes field]
  [No history] if first time

Send to the owner via WhatsApp before the meeting (30 min prior if possible).


Manual Query

When the owner asks "מה אני יודע על X" or "מתי דיברתי עם X":

  1. Search CRM board by name (use get_board_items_page with searchTerm)
  2. Return: Role, Last Contact, Next Meeting, Last Topic, Notes
  3. If not in CRM → say so, offer to add

Adding a New Contact

When a new person appears in meetings or email:

  1. Create item in board with: Name, Email/Phone (if known), Role
  2. Set Last Contact = today
  3. Set Last Topic = how they were encountered (meeting title or email subject)

Cron Setup

Add to morning-briefing or as standalone:

openclaw cron add \
  --name "crm-daily-sync" \
  --every 24h \
  --session isolated \
  --message "Run personal-crm skill: sync today's calendar events to CRM board, update Last Contact and Next Meeting for all attendees. If new contacts found, add them. Silent if no changes." \
  --timeout-seconds 120

.context File Template

# personal-crm/.context
CRM_BOARD_ID="18407279559"
OWNER_EMAIL="owner@company.com"
OWNER_PHONE="+1234567890"
GOG_CREDS="/path/to/openclaw/.gog/credentials.json"

# Column IDs
COL_EMAIL="email_mm24sjhq"
COL_PHONE="phone_mm244na6"
COL_ROLE="text_mm24dn6c"
COL_LAST_CONTACT="date_mm242bkk"
COL_RELATIONSHIP="color_mm24z8s8"
COL_NOTES="long_text_mm24yvyb"
COL_NEXT_MEETING="date_mm24fnmn"
COL_LAST_TOPIC="text_mm24jwh8"

Cost Tips

  • Cheap: reading from monday.com board
  • Calendar sync: once per day max (not per heartbeat)
  • Pre-meeting briefing: only if meeting has external attendees
  • No LLM needed for sync — only for generating briefing text

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

ai-pa

免费

AI Personal Assistant network skill for multi-agent PA coordination. Use when: contacting another PA, coordinating with peer agents, scheduling meetings between owners, broadcasting messages to PA groups, or looking up contacts from the local PA directory. Reads contact data from data/pa-directory.json in the workspace.

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

ai-pa

免费

Route and execute inter-PA coordination tasks in the OpenClaw multi-agent PA network. Triggers when: contacting another PA, passing a message between owners, broadcasting to a PA group, handling group lead/silence rules, or adding a new PA to the directory. NOT for: contact lookups (use contact-list skill), calendar invites (use meetings skill), or billing issues (use billing-monitor skill).

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

ai-pa

免费

AI Personal Assistant network skill. Use when: contacting another PA, coordinating with peer agents, scheduling meetings between owners, broadcasting messages, looking up contacts from the local PA directory, or performing any cross-PA task. Reads contact data from data/pa-directory.json in the workspace. Does NOT contain hardcoded contact data — each PA maintains their own directory file.

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

OpenClaw API gateway proxy for authenticated SaaS calls (100+ services in references/SERVICES.md). Use ONLY when making an HTTP request to a third-party service that requires the gateway's stored credentials. NOT for direct API calls with bearer tokens already in scope, NOT for monday.com (use monday-for-agents), NOT for WhatsApp (use heleni-whatsapp). Triggers: "call the X API", "fetch from <service>", "send to Slack via gateway", "use the gateway for".

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

Automatically creates new skills from complex problem-solving sessions. Triggers at the end of multi-step tasks that required novel approaches, debugging sessions, or workflow creation. Use when: a task took 3+ tool calls, involved a non-obvious solution, or established a pattern likely to recur. Also triggers on: "create a skill from this", "save this as a skill", "this should be a skill".

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

Monitor for API billing errors and alert the owner and admin immediately. Use when: an API billing error is detected, a peer PA reports a billing error, or during routine health checks. Handles detection, notification, and fallback model switching. Model-agnostic: works with any LLM provider (Anthropic, OpenAI, Google, etc.).

中文简介正在准备中。当前显示原文说明。

netanel-abergel/pa-skills62026年5月10日 更新

查看 netanel-abergel 的全部技能

报告此技能的问题