Heleni Personal CRM OpenClaw Skill
Personal CRM built on monday.com. Tracks contacts, last interactions, next meetings, and topics. Runs daily to update from Calendar + email. Delivers pre-mee...
Installation
clawhub install heleni-personal-crm
Requires npm i -g clawhub
35
Downloads
0
Stars
0
current installs
0 all-time
1
Versions
Power your OpenClaw skills with
the best open-source models.
Drop-in OpenAI-compatible API. No data leaves Europe.
Explore Inference APIGLM
GLM 5
$1.00 / $3.20
per M tokens
Kimi
Kimi K2.5
$0.60 / $2.80
per M tokens
MiniMax
MiniMax M2.5
$0.30 / $1.20
per M tokens
Qwen
Qwen3.5 122B
$0.40 / $3.00
per M tokens
Load Local Context
CONTEXT_FILE="/opt/ocana/openclaw/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 — Netanel (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 /opt/ocana/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
- Search CRM board by name/email
- If found → update "Last Contact" to today, update "Last Topic" with meeting title
- If not found → create new contact item
- 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:
- Fetch contact from CRM board
- Pull: Last Contact, Last Topic, Notes, Role
- 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 Netanel via WhatsApp before the meeting (30 min prior if possible).
Manual Query
When Netanel asks "מה אני יודע על X" or "מתי דיברתי עם X":
- Search CRM board by name (use get_board_items_page with searchTerm)
- Return: Role, Last Contact, Next Meeting, Last Topic, Notes
- If not in CRM → say so, offer to add
Adding a New Contact
When a new person appears in meetings or email:
- Create item in board with: Name, Email/Phone (if known), Role
- Set Last Contact = today
- 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="netanelab@monday.com"
OWNER_PHONE="+972548834688"
GOG_CREDS="/opt/ocana/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
Statistics
Latest Changes
v1.0.0 · Apr 6, 2026
Initial publish
Quick Install
clawhub install heleni-personal-crm Related Skills
Other popular skills you might find useful.
Chat with 100+ AI Models in one App.
Use Claude, ChatGPT, Gemini alongside with EU-Hosted Models like Deepseek, GLM-5, Kimi K2.5 and many more.