Next-step Tracker for Openclaw

Turn sales-call promises into a deduplicated, evidence-backed commitment ledger with weekday Slack reminders for follow-ups due or overdue.

cargo-ai
v0.1.0
Oct 9, 2026
0
117
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install next-step-tracker

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install next-step-tracker using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is Next-step Tracker?

Next-step Tracker is an AI agent workflow for keeping sales and customer commitments from disappearing after a call. Each weekday, it reads call-capture entries, records specific promises with their original wording and due dates, checks activity records for evidence that a promise was kept, and posts outstanding items to a designated Slack channel.

Built with Cargo CDK, the example uses native workspace models and does not require a CRM. Teams can adapt its read-only activity and account models to HubSpot, Salesforce, or Attio while retaining the same tracking workflow. Among Openclaw Skills, it is designed for teams that need a reliable, auditable way to follow through on both their own commitments and customer follow-ups.

Next-step Tracker Use Cases

  • Track commitments made by sales reps or customers during recorded calls.
  • Identify promises that are due today or overdue and share them in a locked Slack channel.
  • Verify completed work against logged emails, meetings, notes, tasks, or later call entries.
  • Give account executives and sales leaders an auditable view of follow-ups without changing the call log.
  • Adapt the evidence source to CRM engagement data when activity already lives in HubSpot, Salesforce, or Attio.
  • Pair with call-capture for call records and standup for a later recap of what closed.

How Next-step Tracker Works

  1. On a weekday schedule, read call entries from cadence/log/calls/ on the bound repository's default branch.
  2. Extract specific, quoted commitments from unchecked actions, including who promised what, the account, due date, and source entry. Use configured fallback windows only when the call did not specify a date.
  3. Write each commitment to the commitments model using a stable identifier based on the source entry and promise, so reruns do not create duplicate rows.
  4. For each open commitment, query read-only gtm_activities records for a matching action after the call, or check for a later call entry that clearly confirms completion. Close only when the evidence supports it and cite that evidence.
  5. Select commitments still open and due today or earlier, then group them by owner with overdue items first. Phrase customer promises as follow-ups for the rep to chase.
  6. Send at most one message to the configured Slack channel. Record last_nudged_on after a successful post so failed posts can be retried and same-day reruns remain quiet.
  7. Leave the repository and evidence models unchanged; daily tracker state belongs in the ledger, not in edited call files.

Next-step Tracker Setup

  1. Use a Cargo workspace with @cargo-ai/cli and @cargo-ai/cdk 1.0.92 or later, plus a GTM repository containing call-capture entries (or entries in the same format). Authorize GitHub, Slack, and Anthropic connectors.
  2. Add the cookbook example from the CDK project, or initialize a project with it:
cargo-ai cdk add cookbook/next-step-tracker
# Or create a new project:
cargo-ai cdk init <dir> --cookbook next-step-tracker && cd <dir> && npm install
  1. Reuse existing connector and model resources where possible to avoid duplicate slugs. Confirm that cadence/log/calls/ contains entries with dates and an Actions section; install call-capture first if the directory is empty.
  2. Set channelId in infra/agents/tracker.ts to a Slack channel ID visible to the connector, then invite the bot. Keep the channel locked on the postMessage action because messages may quote customers.
  3. Set the team's TRACKER_TIMEZONE and weekday cron, scheduled after call-capture. Derive the repository binding, model availability, and Anthropic connector from the workspace rather than guessing values. Configure claudeCode with an Anthropic model.
  4. Adapt the prompt and models for local conventions. For a CRM-backed setup, map CRM engagements and companies to the expected model fields while keeping evidence models read-only.
  5. Validate, review the plan, and deploy only after approval:
node --import tsx evals/contract.mjs
npm run check
cargo-ai cdk plan
cargo-ai cdk check
cargo-ai cdk deploy
  1. Trigger a manual test with cargo-ai ai message create, verify each result against the acceptance criteria, then run it again. The second run should add no duplicate rows and post nothing.

Next-step Tracker Data Schema & Taxonomy

The workflow separates source records, evidence, and changing tracker state:

Data Location or model Purpose and access
Call records cadence/log/calls/ Read-only source written by call-capture or maintained in the same format; entries include a date and Actions checkboxes.
Commitment ledger commitments model Persistent tracker state: one row per source entry and promise, with quoted commitment, owner/promisor, due date, source, status, and nudge tracking. commitment_id provides deduplication; last_nudged_on is updated after a successful post.
Activity evidence gtm_activities model Read-only records used to confirm a commitment was kept, such as emails, meetings, notes, or tasks. Native models work without a CRM; connector-backed models are an adaptation.
Account ownership gtm_accounts model Read-only account data used to resolve ownership and group Slack reminders.
Slack output Configured Slack channel One daily message listing open commitments due today or earlier, grouped by owner and including source entries.

For CRM-backed models, map available fields to account_id, opportunity_id, contact_id, occurred_at, kind, subject, body, and owner_email. CRM sync freshness should precede the tracker schedule. The repository is never written, and evidence models remain read-only.

Next-step Tracker Advanced Features

  • Idempotent extraction: stable commitment IDs prevent duplicate ledger rows when the workflow is rerun.
  • Evidence-based closure: a commitment stays open unless a matching activity or later call entry supports completion; uncertain cases remain open.
  • Retry-safe notifications: the nudge timestamp is written only after Slack posting succeeds.
  • Locked Slack destination: channelId is fixed in configuration so customer quotes cannot be routed to an arbitrary or customer-shared channel.
  • CRM adaptation: replace native activity and account models with scheduled, connector-backed HubSpot, Salesforce, or Attio models without changing the core prompt workflow.
  • Configurable behavior: support options such as tracking only your team's promises, changing fallback due-date windows, posting a quiet-day message, per-rep destinations, or widening the history window.
  • Operational verification: contract tests, CDK checks and plans, seeded native-model data, and a required no-op rerun help validate deployment and deduplication.
  • Cost awareness: activity and account reads use workspace models; recurring LLM usage runs through the Anthropic connector, and Slack posting uses the bound connector action.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0