skills/sales-maximizer/SKILL.md
Maximizer (maximizer.com) platform help — Canadian cloud/on-premise sales + financial-services CRM. Octopus API (Maximizer.Web.Data, base api.maximizer.com/octopus) is a POST-RPC service (/Authenticate, /Read, /Create, /Update, /Delete) with Scope/Criteria/Configuration query bodies, PAT or OAuth2 auth, and a separate Webhooks API (https://api.maximizer.com/webhooks, v1 targets + subscriptions). Use when an Octopus /Read returns nothing because Configuration.Drivers names the wrong searcher, building an AbEntry/Opportunity/Lead export to a warehouse or another CRM, a webhook silently stops after the 2-second / 3-attempt delivery limit, hitting the per-edition rate limit (Core 30/min, Business/Financial 90/min), wiring base64 record Keys or UDF (Udf/$TYPEID) fields, linking Outlook email to records without endless clicks, or choosing Base vs Sales Leader vs Financial Advisor editions. Do NOT use for comparing CRMs across vendors (use /sales-crm-selection) or generic iPaaS wiring (use /sales-integration).
npx skillsauth add sales-skills/sales sales-maximizerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If references/learnings.md exists, read it first for accumulated platform knowledge.
What are you trying to do?
Cloud (CRM Live) or on-premise? Auth differs: cloud uses a Personal Access Token (PAT) or /Authenticate with VendorId+AppKey; on-premise calls /Authenticate with just Database/UID/Password. Base URL for cloud is https://api.maximizer.com/octopus.
Which edition? Base/For Sales, Sales Leader, or Financial Advisor (households, investment/insurance views). Rate limits and some features are edition-gated.
Skip-ahead rule: if the user's prompt already provides enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| CRM selection/comparison or migration strategy across vendors | /sales-crm-selection {question} |
| CRM data cleanup, dedupe, record matching | /sales-data-hygiene {question} |
| Contact/company enrichment for CRM records | /sales-enrich {question} |
| Outbound sequence / cadence design across platforms (Maximizer has thin native sequencing) | /sales-cadence {question} |
| Connecting Maximizer to other tools generically (iPaaS, Zapier, Make) | /sales-integration {question} |
| Lead scoring model design | /sales-lead-score {question} |
When routing, give the exact command, e.g. "This is a CRM-comparison question — run: /sales-crm-selection should I move from Maximizer to HubSpot at 30 people".
Read references/platform-guide.md for the full reference — the module map (what's API- vs webhook- vs UI-only), editions and pricing/rate-limit gates, the AbEntry/Opportunity/Lead data model with JSON shapes, base64 Key encoding, the Read query syntax (Scope/Criteria/GroupBy/OrderBy + Configuration.Drivers), and quick-start recipes (authenticate + read contacts; nightly opportunity export; subscribe to a webhook target).
Read references/maximizer-api-reference.md for the integration surface — the Octopus base URL, the /Authenticate → PAT/OAuth2 flow, the POST-RPC endpoint list (/Read, /Create, /Update, /Delete, /Validate, /BinaryUpload, /WorkflowStart…), the Scope/Criteria operator catalog ($EQ/$LIKE/$RANGE/$OFFSET()…), the Configuration.Drivers searcher names, pagination via OrderBy+Top, the per-edition rate limits, and the Webhooks API (/v1/targets, /v1/subscriptions, payload shape, 2-second/3-attempt delivery rule).
Answer using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
Configuration.Drivers searcher. A /Read body specifies which entity searcher to use, e.g. "IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher". Naming the wrong searcher (or omitting it) returns empty/unexpected results, not an error — this is the #1 "my query returns nothing" cause.Key values (e.g. Q29tcGFueQk...) encode the entity type and IDs. Never construct or mutate them — read a record first, then pass its Key back on /Update and /Delete. A wrong-type Key fails silently or hits the wrong record./Authenticate with Database/UID/Password/VendorId/AppKey. On-premise: /Authenticate with just Database/UID/Password. A {"Code":0} from /TokenValid means the token is still good.429, and a long-running call can return 408. Pull incrementally (filter on a date UDF/field with $OFFSET()), page with OrderBy+Top, and back off on 429.200 OK within 2 seconds; Maximizer retries twice (3 attempts total) then discards the event. There is no documented HMAC signature — verify authenticity another way (allowlist source IPs, a secret path/header). ACK immediately, process async, and run a periodic reconciliation pull to catch dropped events.If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research (2026-06) — review these, especially pricing and edition-gated features, which change.
Configuration.Drivers must name the correct searcher (e.g. IAbEntrySearcher, IOpportunitySearcher). Wrong/missing driver → empty result, not an error.Keys are base64 composites that encode entity type + IDs. Read first, reuse the Key; never hand-build one.Code: 0 means success. The JSON envelope returns a numeric Code; non-zero is a failure — always check it even on a 200.200 ACK and drop after 3 attempts, with no HMAC signature documented. A slow receiver or brief outage silently loses events.429 on exceed, 408 on slow calls.Udf/$TYPEID notation in webhook filters and queries — not the display name.https://api.maximizer.com/octopus; webhooks live at https://api.maximizer.com/webhooks. The legacy Ferret API is being superseded by Octopus./sales-crm-selection — CRM comparison, selection, and migration strategy across vendors (is Maximizer the right CRM, or time to switch?)/sales-data-hygiene — CRM data quality: dedupe, record matching, enrichment automation/sales-enrich — Contact/company enrichment for Maximizer records/sales-cadence — Outbound sequence/cadence design across platforms (Maximizer has thin native sequencing)/sales-integration — Connecting Maximizer to other tools via webhooks/Zapier/Make/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-code/Read returns an empty list (developer/automation)User says: "I POST to /Read with a Scope and Criteria for contacts but get back zero rows even though they exist."
Skill does: Checks the Configuration.Drivers block — a contact/company read needs "IAbEntrySearcher": "Maximizer.Model.Access.Sql.AbEntrySearcher" (opportunities need IOpportunitySearcher). Confirms the Criteria.SearchQuery uses the operator syntax ({"Type": {"$EQ": "Contact"}}) and that the Bearer PAT is valid via /TokenValid (expect {"Code":0}). Shows the working /Read body from the API reference.
Result: The correct searcher returns the expected rows.
User says: "I want to pull opportunities that changed recently into BigQuery without tripping the rate limit."
Skill does: Recommends a /Read against IOpportunitySearcher filtered with a date operator ($OFFSET() / $RANGE) on a last-modified field, paginated with OrderBy + Top, selecting only needed Scope.Fields. Notes Core ~30/min vs Business/Financial ~90/min, to back off on 429, and to persist each record's base64 Key. Points to Recipe 2 in the platform guide.
Result: A bounded incremental export that stays under the edition's rate limit.
User says: "We're a 12-advisor wealth firm comparing Maximizer's Financial Advisor edition to Salesforce Financial Services Cloud."
Skill does: Recognizes a cross-vendor selection question and routes: "run: /sales-crm-selection 12-advisor wealth firm, Maximizer Financial Advisor vs Salesforce FSC." Briefly notes Maximizer's edge (advisor/household features at ~$79/user/mo vs FSC's ~$325) and weak spots (reporting, email-logging friction) but defers the comparison to the strategy skill.
Result: User is handed to the right strategy skill with a ready prompt.
/Read returns nothing (no error)Symptom: A /Read with valid Scope/Criteria returns an empty result and a 200.
Cause: The Configuration.Drivers searcher is wrong or missing for the entity, or the Criteria.SearchQuery operator/field name doesn't match (e.g. querying a UDF by display name instead of Udf/$TYPEID).
Solution: Set the matching driver (IAbEntrySearcher for AbEntry, IOpportunitySearcher for Opportunity, etc.), verify field names via the object's Metadata read, and use the documented operators ($EQ, $LIKE, $RANGE, $IN…). Check the response Code — 0 is success.
Symptom: A subscription delivered events, then they silently stopped arriving.
Cause: The target failed to return 200 OK within 2 seconds; Maximizer retries twice and then discards the event after 3 total attempts. There's no signature to confirm authenticity and no built-in delivery log.
Solution: Make the target ACK 200 immediately and process async; confirm the target is still enabled (/v1/targets/{id}/enable) and the subscription's Entity/Op/Filter still match; run a periodic reconciliation /Read on a last-modified field to backfill dropped events.
Symptom: Calls fail with 401 Unauthorized, 408 Request Timeout, or 429 Too Many Requests.
Cause: 401 — expired/invalid PAT or wrong auth flow for cloud vs on-premise; 408 — a single call ran too long; 429 — exceeded the per-edition rate window (Core ~30/10s, Business/Financial ~90/30s).
Solution: Re-check the token with /TokenValid and re-mint the PAT if needed (cloud uses Bearer PAT or /Authenticate with VendorId/AppKey; on-premise omits those). Split heavy /Reads into smaller pages (Top + OrderBy), select fewer Scope.Fields, and add exponential backoff on 429.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).