SStorypole PRO

API, webhooks and the AI connector

Connect Storypole PRO to your own programs, to Zapier (and the thousands of apps it reaches), and to AI assistants like Claude and ChatGPT.

1. Make an API key

In Storypole PRO: Setup → API & integrations → API keys. Choose Read (look things up) or Read and write (also add and change). The key is shown once — keep it like a password. Turn it off any time.

Send it on every request:

Authorization: Bearer sp_live_…

2. The REST API

Every screen in Storypole PRO runs on this API, so anything you can do in the app you can do with a key. JSON in, JSON out. Base address: https://www.storypolepro.com

RequestWhat it does
GET /api/bidsJobs and bids (?status=won)
GET /api/bids/{id}One job
POST /api/bidsAdd a bid: { project, organization_id, address, due_date }
GET /api/bids/{id}/scheduleThe job's schedule
GET /api/bids/{id}/budgetBudget, POs and job costs
GET /api/bids/{id}/daily-logs, POST …Daily logs
GET /api/bids/{id}/todos, POST …To-dos and punch list
GET /api/invoicesInvoices
GET /api/leads, POST /api/leadsLeads: { name, email, phone, project_type, message }
GET /api/organizations?type=builder|sub|supplierCustomers, subs, suppliers
GET /api/insurance/boardEach sub's insurance status
GET /api/change-orders, /api/rfis, /api/submittalsChange orders, RFIs, submittals

Errors come back as { "error": "…" } with an HTTP status. A Read key gets 403 on anything that changes data.

3. Webhooks

Storypole PRO can POST to your address the moment something happens. Add one in API & integrations → Webhooks, or subscribe with a key: POST /api/hooks { "target_url": "https://…", "event": "lead.created" } (Zapier's REST hooks) and DELETE /api/hooks/{id}.

EventWhen
lead.createdA new lead — from your website form or entered
bid.wonA bid is won
proposal.signedA proposal is signed
change_order.approvedA change order is approved
payment.receivedA payment is recorded or paid online
daily_log.createdA daily log is written
selection.chosenThe customer makes a selection
receipt.approvedA receipt is approved into job costs

Each delivery: { "id", "event", "created_at", "data": { … } }, signed with your webhook's secret: X-Storypole-Signature: sha256=HMAC_SHA256(secret, body). Sample data: GET /api/hooks/sample/{event}.

4. The AI connector (MCP)

Let Claude, ChatGPT or any assistant that supports the Model Context Protocol work with your account: “What's behind schedule this week?”, “Which invoices are past due?”, “Add a daily log for Lot 7: block to 8 courses, 6 on site.”

Connector address: https://www.storypolepro.com/api/mcp — authorization header Bearer with your API key. A Read key can only look things up.

Tools: list_jobs, get_job, get_job_schedule, get_job_budget, get_daily_logs, list_invoices, list_leads, list_todos, list_change_orders, insurance_status, and with a write key create_lead, add_daily_log, add_todo.

5. Zapier

Use Zapier's Webhooks by Zapier: “Catch Hook” to start a Zap from any Storypole PRO event above, and “Custom Request” with your API key to add leads, logs and to-dos from other apps.