sales-qwilr-automation
Builds automations connecting Qwilr to CRM and other tools via API, Zapier, or native integrations. Use when reps manually copy deal data into proposals, Qwilr and your CRM are out of sync, proposal status isn't updating in Salesforce or HubSpot, you want proposals auto-created when deals hit a stage, or webhooks aren't triggering on proposal views or acceptance.
What this skill does
# Automate Qwilr with CRM & Tools
Help the user build automations that connect Qwilr to their CRM and other tools — via the Qwilr REST API, Zapier, or native integrations.
## Qwilr API overview
The Qwilr REST API lets you create pages from saved blocks with token substitutions, manage quote sections with interactive pricing, and subscribe to webhooks for real-time engagement signals.
**Quick reference**: Base URL `https://api.qwilr.com/v1`, JWT Bearer auth. Key endpoints: `POST /pages` (create), `GET /blocks/saved` (discover templates), `POST /webhooks` (subscribe to events).
For the complete API reference — endpoints, curl examples, token mapping, quote block structure, and testing checklist — consult `references/qwilr-api-reference.md`.
## Step 1 — Gather context
If `references/learnings.md` exists, read it first for accumulated knowledge.
Ask the user:
1. **What do you want to automate?**
- A) Auto-create proposals when a deal reaches a certain stage
- B) Sync proposal status/acceptance back to CRM
- C) Get notified when prospects view or accept proposals
- D) Full round-trip: create from CRM data + sync engagement back
- E) Something else — describe it
2. **What CRM/tools are you using?**
- A) HubSpot
- B) Salesforce
- C) Pipedrive
- D) Zoho CRM
- E) Other CRM (specify)
- F) No CRM — just API/webhooks
3. **What automation platform do you prefer?**
- A) Zapier
- B) Make (Integromat)
- C) Direct API (code/scripts)
- D) Native Qwilr integration (HubSpot/Salesforce/Pipedrive)
- E) Not sure — recommend what fits
4. **What Qwilr plan are you on?** (affects API access and native integrations)
**If the user's request already provides most of this context, skip directly to the relevant step.** Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end — don't gate your response behind gathering complete context.
## Step 2 — Architecture recommendation
Based on the user's answers, recommend the right approach with trade-offs:
### Native integrations (simplest)
- **HubSpot**: Qwilr's native integration auto-populates templates with HubSpot deal/contact data, syncs acceptance status back to deal properties
- **Salesforce**: Native integration maps Salesforce opportunity fields to Qwilr tokens, creates proposals from opportunity records
- **Pipedrive**: Native integration connects deal data to Qwilr templates
- **Best for**: Teams that want zero-code setup and use a supported CRM
- **Limitation**: Less customizable than API, limited to supported field mappings
### Zapier / Make (medium complexity)
- **Best for**: Multi-tool workflows (e.g., create proposal when Stripe payment received, or notify Slack when proposal viewed)
- **Approach**: Use Qwilr's Zapier triggers (page viewed, accepted) and actions (create page)
- **Limitation**: Slower execution, may hit rate limits at scale, costs per task
### Direct API (most powerful)
- **Best for**: Custom workflows, high volume, complex logic (conditional sections, dynamic pricing calculations)
- **Approach**: Call Qwilr REST API directly from your backend, serverless functions, or scripts
- **Limitation**: Requires development effort
## Step 3 — Build the automation
The build process follows four stages. For curl examples, JSON payloads, and token mapping details, consult `references/qwilr-api-reference.md`.
### 3a. Discover available blocks
List saved blocks via `GET /blocks/saved` to find the `savedBlockId` values for page creation.
### 3b. Create pages from CRM data
Use `POST /pages` with saved block IDs, token substitutions (CRM fields → `{{token}}` values), and quote sections for interactive pricing.
### 3c. Subscribe to webhook events
Subscribe to `pageFirstViewed`, `pageViewed`, `pageAccepted`, and `pagePartiallyAccepted` events to get real-time engagement signals.
### 3d. Check page status
Use `GET /pages/{id}?expand=acceptance,metadata` to poll page details and acceptance status.
## Step 4 — Token/substitution mapping
Design the mapping between CRM fields and Qwilr template tokens. Common tokens include `{{company_name}}`, `{{contact_first_name}}`, `{{deal_amount}}`, `{{rep_name}}`, etc. For the full token reference and guidelines, see `references/qwilr-api-reference.md`.
Key principles:
- **Always auto-populate**: company_name, contact names, rep info, deal amount
- **Semi-auto** (verify after population): industry, company_size, product
- **Always manual**: executive summary, pain points, custom scope
- **Set fallback values** for optional tokens so pages don't show raw `{{token}}` text
## Step 5 — Testing checklist
Walk through end-to-end before going live: auth verification, block discovery, token rendering, quote block accuracy, webhook delivery, CRM sync, error handling, and publish flow. Full checklist in `references/qwilr-api-reference.md`.
## Common automation recipes
Three common patterns (detailed implementation in `references/qwilr-api-reference.md`):
1. **Auto-create proposal when deal hits Stage 3**: CRM trigger → `POST /pages` → update CRM with Qwilr URL
2. **Notify Slack when proposal is viewed**: `pageFirstViewed` webhook → Slack message → rep follows up
3. **Update CRM when proposal is accepted**: `pageAccepted` webhook → update deal stage to Closed Won → trigger onboarding
## Gotchas
- **Don't overcomplicate with custom API when Zapier works.** If the user's automation is a simple trigger-action (deal hits stage → create proposal), Zapier or the native integration is faster to set up and maintain. Reserve direct API work for custom logic, high volume, or complex conditional workflows.
- **Don't forget webhook retry and deduplication.** Qwilr webhooks may retry on failure, sending the same event multiple times. Any webhook handler must be idempotent — check for duplicate event IDs before processing. Claude often generates webhook handlers without this.
- **Don't assume CRM field names without checking.** Salesforce custom fields end in `__c`, HubSpot uses internal property names that differ from display names, and Pipedrive uses custom field keys. Always tell the user to verify their actual field names/IDs before building the mapping.
- **Don't skip testing with sandbox/test data.** Claude tends to generate API code that goes straight to production. Always recommend creating test pages with `isPublished: false` first, using test deals in the CRM, and verifying token substitutions render correctly before going live.
- **Don't hardcode API tokens in scripts.** Use environment variables (`$QWILR_TOKEN`) for authentication. Claude sometimes generates examples with placeholder tokens inline — make sure the user knows to use env vars or a secrets manager.
- **Self-improving**: If you discover something not covered here, append it to `references/learnings.md` with today's date.
## Related skills
- `/sales-proposal-page` — Write the actual proposal content and quote block design
- `/sales-proposal-analytics` — Interpret engagement signals and decide follow-up actions
- `/sales-proposal-template` — Design reusable templates for API auto-population
- `/sales-deal-room` — For complex multi-page deal rooms
- `/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`
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.