crm-snail-mail-postgrid
Send physical mail from CRM contacts using PostGrid. Use when pulling contacts from GoHighLevel (GHL) or Follow Up Boss (FUB), mapping contact/address fields, generating personalized mail payloads, and submitting letters or postcards through PostGrid API. Also use when another skill already produced GHL/FUB contact JSON and mail should be sent from that dataset.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/danielfoch/crm-snail-mail-postgridCRM Snail Mail via PostGrid
Use this skill to run targeted direct-mail outreach from CRM contacts.
Workflow
- Pick source:
ghl,fub, or pre-exported contact JSON. - Pull and normalize contacts into a common schema.
- Filter to records with mailable addresses.
- Build personalized message content.
- Submit jobs to PostGrid (
lettersorpostcards) with dry-run available. - Return send summary with success/failure per contact.
Script
scripts/crm_postgrid_mailer.pyPurpose: Pull contacts from GHL/FUB (or load from JSON), normalize fields, render templates, and send to PostGrid.scripts/postgrid_api.pyPurpose: Full PostGrid API utility with broad endpoint catalog andcall-rawfallback for any documented endpoint.
Environment Variables
GHL_API_KEY: GHL API key/token.GHL_BASE_URL(optional): defaults tohttps://services.leadconnectorhq.com.FUB_API_KEY: Follow Up Boss API key.FUB_BASE_URL(optional): defaults tohttps://api.followupboss.com/v1.POSTGRID_API_KEY: PostGrid API key.POSTGRID_BASE_URL(optional): defaults tohttps://api.postgrid.com/print-mail/v1.
Typical Commands
List full PostGrid endpoint catalog included in this skill:
python3 scripts/postgrid_api.py list-endpoints
Call a cataloged PostGrid endpoint:
python3 scripts/postgrid_api.py call contacts.list
Call any PostGrid endpoint directly (full docs coverage fallback):
python3 scripts/postgrid_api.py call-raw GET /letters \
--base-url https://api.postgrid.com/print-mail/v1
Normalize contacts from FUB to JSON:
python3 scripts/crm_postgrid_mailer.py fetch \
--provider fub \
--limit 200 \
--output /tmp/fub_contacts_normalized.json
Normalize contacts from GHL to JSON:
python3 scripts/crm_postgrid_mailer.py fetch \
--provider ghl \
--location-id "$GHL_LOCATION_ID" \
--limit 200 \
--output /tmp/ghl_contacts_normalized.json
Dry-run PostGrid payload generation:
python3 scripts/crm_postgrid_mailer.py send \
--contacts-file /tmp/ghl_contacts_normalized.json \
--from-json-file references/example_sender_us.json \
--html-template-file references/example_letter_template.html \
--mail-route letters \
--dry-run
Fetch + send in one command:
python3 scripts/crm_postgrid_mailer.py run \
--provider fub \
--limit 100 \
--from-json-file references/example_sender_us.json \
--html-template-file references/example_letter_template.html \
--mail-route letters \
--output /tmp/mail_send_summary.json
Send one ad-hoc mailer from raw address + content:
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-danielfoch-crm-snail-mail-postgrid": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
idx-cma-report
Generate comparative market analysis (CMA) and home valuation reports from IDX listing data and selected comparable properties. Use when a user wants to pick comps, estimate a market value range, produce seller-facing home evaluation reports, or publish an interactive CMA experience via Google Gemini Canvas or Google AI Studio.
kvcore-mcp-cli
Use this skill when users need KVcore CRM actions through MCP/CLI (contacts, tags, notes, calls, email, text, campaigns), including raw endpoint access and optional Twilio call fallback.
pipedrive-crm-openclaw
Manage Pipedrive CRM from OpenClaw using API v1, including people, organizations, deals, leads, activities, notes, pipelines, and custom endpoint actions. Use when a user wants to perform CRM operations by API instead of the Pipedrive UI.
show-booking
Book real estate showing tours from emailed or pasted listing details, including extracting listing data, preparing outbound call jobs, coordinating a calling sub-agent, creating calendar invites, and returning confirmations. Use when the user asks to book showings for one or more properties, coordinate preferred windows for a client, or automate office calls instead of manual BrokerBay login flows.
manychat-cli
Skill by danielfoch