Your extension gives Claude access to Salesforce and Elasticsearch when a session runs.
To continuously discover updates on your accounts, combine background CRM sync
with a scheduled Claude Routine — not a 24/7 daemon inside Claude.
Two layers: (1) macOS/Windows sync keeps Elasticsearch fresh every ~15 minutes.
(2) Claude wakes on a schedule, reads your watchlist, compares deltas, researches the web, and saves notes.
What runs where
Layer
Always on?
Role
Elasticsearch
Yes
Local or Elastic Cloud — account memory index
SF sync (sfdc-sync)
Yes (optional)
Pulls CRM changes into ES on a timer — no Claude needed
Claude Desktop does not keep an agent process running between sessions.
“Always on” in practice means fresh data in the background plus
automated agent runs on a cadence you choose.
Setup in three steps
Install DCOS + extension
Double-click the platform installer from the
download page.
Pick your role and account watchlist during setup — stored in
~/.config/dcos/accounts.yaml.
Background Salesforce sync (macOS)Keep CRM data indexed even when Claude is closed.
Schedule a Claude RoutineLocal routine with DCOS + Jina connectors; runs your discovery workflow on autopilot.
Step 2 — Background sync (macOS)
After install, enable launchd to sync Salesforce → Elasticsearch every 15 minutes:
cp launchd/com.elastic.dcos.sfdc-sync.plist.example \
~/Library/LaunchAgents/com.elastic.dcos.sfdc-sync.plist
# Edit paths in the plist to match your install location, then:
launchctl load ~/Library/LaunchAgents/com.elastic.dcos.sfdc-sync.plist
The plist ships inside the installer payload under launchd/, or in the
source repo.
Logs: /tmp/dcos-sfdc-sync.log
Claude Desktop → Projects → new project → paste project instructions from the
installer docs (claude/project-instructions.md in the repo).
This gives every chat and routine the same MEDDPIC workflow.
New local routine
Cowork → Schedule (or Routines → New → Local):
Setting
Value
Schedule
Weekdays 6:00 AM (add noon for midday pulse)
Connectors
digital-chief-of-staff + Jina
Project
Your DCOS project (recommended)
Prompt — paste into the routine
You are my Digital Chief of Staff for Elastic sales.
First run dcos_user_profile to load my persona and account watchlist.
Only research accounts on my watchlist unless I specify otherwise.
Steps — execute all before writing the brief:
1. dcos_sfdc_sync — refresh Salesforce into Elasticsearch
2. dcos_sfdc_list_opportunities with limit 100 — open pipeline on watchlist
3. For each watchlist account (or top 15 by close date):
a. dcos_search — MEDDPIC context, recent blockers, prior briefs
b. Jina parallel_search_web (tbs qdr:w): "<Account> news", leadership change, observability OR security
4. Compare against prior dcos_search notes — highlight MEDDPIC deltas since last run
5. dcos_connector_list — if Slack/KB configured, pull internal signals
Output — Executive Daily Brief (plain English):
# Executive Daily Brief — {territory}
**Updated:** {date/time}
## What matters today
## What to watch
## What this means for me
## Today's game plan
## Your priority actions today
## Sales + executive implications
## Deals at risk today
## Territory snapshot
## High-priority setups
## Elastic
## Rep handoffs
Rules:
- Ground all CRM numbers from dcos_sfdc_* tools only
- MEDDPIC terminology throughout
- After the brief, dcos_add_note summarizing material changes (source: dcos_scheduled_brief)
Enable unattended runs
Tool approvals: If DCOS tools are set to “Needs approval,” a scheduled routine
will stall until you click approve on each tool call.
Claude Desktop → Settings → Extensions → digital-chief-of-staff →
Other tools → change from Needs approval to
Allow automatically (or allow individually:
dcos_sfdc_sync, dcos_search, dcos_sfdc_list_opportunities,
dcos_add_note).
Requirements for local routines
Claude Desktop open (can be in background)
Mac awake at run time
Valid Salesforce session — re-run Login to Salesforce when tokens expire
What each run discovers
dcos_user_profile — your role + watchlist accounts
dcos_sfdc_sync — latest CRM field changes
dcos_search — diff vs prior indexed notes
Jina — external news and trigger events
dcos_add_note — persist findings for the next delta comparison
Test before scheduling
In a new chat (with DCOS + Jina enabled):
Run dcos_user_profile, then dcos_sfdc_sync, then scan my watchlist for
anything that changed in the last 24 hours vs prior dcos_search notes.
Summarize deltas only.
If that completes without manual tool approvals, your routine will run unattended.
When the laptop is closed
Approach
Tradeoff
Local routine
Full SF + ES access; requires Claude open and Mac awake
Cloud routine (Remote)
Runs when laptop is off; cannot reach local SF — uses synced ES + Jina only
Elastic Cloud + server cron
Move ES to Cloud; run sync on a VM — best for team-wide always-on data