Docs

PlaybookM Docs

Practical guidance for turning marketing plans, proof points, budgets, and performance signals into one operating view.

Overview

PlaybookM helps marketing teams manage the production system behind revenue work: what is planned, who owns it, what content supports it, how much it costs, and whether it creates enough coverage for business goals.

The docs start with the operating model, then move into setup, weekly workflows, governance, and the product areas most teams use first.

How it works

  1. Capture campaigns, activities, content, spend, targets, and owners in one place.
  2. Organize work by calendar timing, status, channel, market, audience, and priority.
  3. Review coverage against pipeline, proof, budget, and performance goals.
  4. Use weekly operating reviews to adjust activity plans before gaps become misses.

Setup checklist

  1. Create a workspace and invite the marketing operators who plan, approve, or report on work.
  2. Import existing activities from a spreadsheet or add priority campaigns directly in PlaybookM.
  3. Connect activities to dates, owners, targets, content, channels, budget, and expected outcomes.
  4. Review pipeline coverage, content coverage, spend, and performance views with the team each week.

Connect Claude or Codex

PlaybookM includes a local CLI and MCP server so Claude Code and Codex can work with your workspace using the same role and permissions as your PlaybookM account.

1. Install the CLI and MCP server

Requires Go 1.26 or newer.

go install github.com/carneybill/PlaybookM/cli/playbookm-pp-cli/cmd/playbookm-pp-cli@latest
go install github.com/carneybill/PlaybookM/cli/playbookm-pp-cli/cmd/playbookm-pp-mcp@latest

2. Select and authorize your workspace

Replace your-workspace with the workspace name from your PlaybookM URL.

export PLAYBOOKM_WORKSPACE=your-workspace
playbookm-pp-cli auth login --device-code
playbookm-pp-cli doctor

For the PlaybookM marketing workspace, use export PLAYBOOKM_WORKSPACE=playbookm.

Open the printed verification URL, confirm the matching code while signed in, and return to the terminal. Your password and browser cookie are never shared with the agent.

The approval screen keeps the workspace from the URL and sends it with the approval request. Higher-privilege users can run lower-role commands, so admins and marketing owners can still use read and contributor workflows through Claude or Codex.

3. Add PlaybookM to Claude Code

claude mcp add --scope user \
  -e PLAYBOOKM_WORKSPACE=your-workspace \
  playbookm -- playbookm-pp-mcp

claude mcp list

4. Add PlaybookM to Codex

codex mcp add --env PLAYBOOKM_WORKSPACE=your-workspace \
  playbookm -- playbookm-pp-mcp

codex mcp list

Verify the connection

Start a new Claude Code or Codex session and ask: “Show my PlaybookM workspace access and list the latest activities.” The MCP server exposes a small search-and-execute tool surface instead of loading every API command into the agent context.

To disconnect, run playbookm-pp-cli auth logout. This revokes the server-side CLI session and removes local credentials.

CLIs

PlaybookM uses separately authenticated command-line tools so provider credentials remain on the trusted local runner. Availability in this catalog does not bypass provider certification, workspace permissions, previews, or required approvals.

playbookm-pp-cli

Work with an authenticated PlaybookM workspace using the user's existing role and permissions.

Authentication

PlaybookM device authorization

google-ads-pp-cli

Discover Google Ads accounts and manage campaign structure and aggregate performance.

Authentication

Google OAuth and developer token

linkedin-pp-cli

Discover LinkedIn ad accounts, manage campaigns, and read campaign analytics.

Authentication

LinkedIn Marketing OAuth

meta-ads-pp-cli

Read Meta ad accounts, campaigns, and insights and submit governed campaign changes.

Authentication

Meta access token

microsoft-ads-pp-cli

Read Microsoft Advertising accounts and campaigns through fixed SOAP v13 operations.

Authentication

Microsoft OAuth and developer token

hubspot-pp-cli

Read and manage approved HubSpot company, deal, and pipeline data without importing contact PII.

Authentication

HubSpot private-app token

salesforce-pp-cli

Read approved account, opportunity, pipeline, and campaign data from a Salesforce instance.

Authentication

Salesforce OAuth access token

google-search-console-pp-cli

Read search performance, sitemap status, properties, and indexed-URL diagnostics.

Authentication

Google Search Console OAuth

google-web-vitals-pp-cli

Run PageSpeed analysis and read Chrome UX Report field performance.

Authentication

Google API key

dataforseo-pp-cli

Run usage-bounded keyword, SERP, backlink, and competitor research.

Authentication

DataForSEO login and password

screaming-frog-pp-cli

Run constrained local technical SEO crawls with fixed, reviewable exports.

Authentication

Local Screaming Frog installation

wordpress-pp-cli

Read WordPress content inventory and submit governed draft or publishing-state changes.

Authentication

WordPress Application Password

External campaign tools

PlaybookM can coordinate separately authenticated provider CLIs for Salesforce, HubSpot, Google Ads, LinkedIn, Meta Ads, and Google Analytics. Connecting PlaybookM never gives the agent access to the PlaybookM repository, GitHub, deployments, arbitrary shell commands, or provider credentials.

  1. For LinkedIn, install linkedin-pp-cli on the same trusted computer as the PlaybookM MCP server.
  2. Register http://localhost:8085/callback in the LinkedIn app, then run linkedin-pp-cli auth login. Provider tokens remain local.
  3. Google Ads also requires a local OAuth desktop client and GOOGLE_ADS_DEVELOPER_TOKEN; manager accounts set GOOGLE_ADS_LOGIN_CUSTOMER_ID.
  4. Meta Ads uses meta-ads-pp-cli with a local META_ADS_META_ACCESS_TOKEN.
  5. HubSpot uses hubspot-pp-cli with a private-app token kept in HUBSPOT_HUBSPOT_PRIVATE_APP.
  6. Salesforce uses salesforce-pp-cli with SALESFORCE_SALESFORCE_ACCESS_TOKEN and the authenticated instance REST root in SALESFORCE_BASE_URL.
  7. Search workflows use separately authenticated Google Search Console, PageSpeed/CrUX, DataForSEO, and local Screaming Frog CLIs. PlaybookM imports dated aggregate observations and technical findings, not unrestricted crawl output.
  8. WordPress publishing uses wordpress-pp-cli; every draft or status change follows the same preview and approval controls as an external campaign write.
  9. Microsoft Ads uses microsoft-ads-pp-cli with local OAuth and developer tokens; its initial certified surface is read-only account and campaign discovery.
  10. Select the provider account and teams that may use it in Settings → Integrations.
  11. Ask Claude or Codex to draft a campaign or change. PlaybookM creates an exact preview without changing the provider.
  12. A Marketing Owner approves the provider, account, budget, schedule, assets, and changed fields.
  13. The local runner consumes that one-time approval, executes once, and returns a redacted provisional receipt for provider readback.
Provider capabilities appear only after the exact CLI version, authentication, permissions, output schema, and profile signature pass certification. A connected PlaybookM CLI by itself does not enable LinkedIn or another provider.

Performance sync

Certified read operations can import daily aggregate spend, delivery, engagement, conversion, pipeline, revenue, and analytics observations. Imports retain provider, account, campaign, date, currency, attribution, profile version, and run provenance.

  • Stable provider identifiers link facts automatically; name-only matches require review.
  • Overlapping runs correct the same daily fact instead of duplicating it.
  • Contact, lead, audience-member, and visitor-level data is rejected.
  • Manual activity cost and lead values remain unchanged and display separately.
  • Scheduled sync is read-only; every external write still requires a new exact approval.

Adding your first activity

Start with a real marketing activity your team already cares about, such as a launch, webinar, campaign, field event, content asset, partner motion, or nurture program.

  1. Open Activities and create a new activity.
  2. Add the activity name, owner, planned date, channel, status, and audience.
  3. Connect the activity to targets, proof points, budget, and expected outcomes.
  4. Review it in calendar, list, pipeline coverage, and reporting views.

Upload your current activities spreadsheet

If your team already tracks marketing activities in a spreadsheet, use the import flow to bring that work into PlaybookM instead of recreating every activity manually.

  1. Download the PlaybookM activity import template.
  2. Copy your current activity data into the matching template columns.
  3. Upload the CSV and review field mapping, required fields, and validation notes.
  4. Confirm the import, then review the activities in list and calendar views.

Subscribing to a calendar

Calendar subscriptions give stakeholders a live view of planned marketing activity without requiring them to work inside PlaybookM every day.

  1. Open the Calendar view and choose the share or subscription option.
  2. Select the activity data that should be visible to subscribers.
  3. Copy the generated calendar URL.
  4. Add the URL to Google Calendar, Outlook, Apple Calendar, or another calendar app.

Governance

Use roles, shared calendars, import/export controls, and audit-friendly activity data to keep marketing operations visible without forcing every stakeholder into the same workflow.

  • Give planners, admins, and viewers the right level of access.
  • Share calendar views with stakeholders who only need visibility.
  • Keep activity data portable through CSV templates and exports.

Read next