Integrations

Integrations and developer tools

Stillpoint is WordPress-native, so much of what other CRMs need an integration for is simply already local — your site, your store, your users, your mail. Beyond that boundary it connects through open, documented endpoints rather than a proprietary app marketplace.

A hosted CRM has to build a connector for WordPress, another for WooCommerce, another for your mail provider, and then charge you for the tier that unlocks them. Stillpoint runs inside the same install as all of those things, so the store, the forms, the user accounts and the mailboxes are not integrations at all — they are the same application.

For everything outside WordPress, the approach is deliberately boring: token-protected HTTP endpoints in, outbound webhooks out, a read-only JSON API for reporting, and standard formats such as CSV, ICS, PDF, IMAP and SMTP. Nothing below requires a middleware subscription, and everything below exists today.

Shipped today

Everything in this section is in the current release. Anything planned or under investigation lives on the roadmap instead, so you never have to guess which is which.

Shipped today

WooCommerce

Pro & Agency

Orders sync on checkout, status change, admin edit and refund, idempotently, so re-syncing never duplicates. Each order becomes two things at once: a ledger record with order number, status, total and currency, item count, payment method, billing country, created and paid dates and every line item; and a deal in an auto-created Orders pipeline whose stages mirror WooCommerce statuses, with completed counting as won and cancelled or refunded as lost.

Customers become contacts carrying lifetime value and configurable RFM segments, and a one-click batched backfill imports your existing order history. See the WooCommerce page for the full behaviour.

Shipped today

Any other store or headless cart

If your storefront is not WooCommerce — Shopify, a headless cart, a custom checkout — post a normalised order payload to the token-protected order intake endpoint at /stillpoint-crm/?page=ecom_intake. Orders arriving this way behave like synced orders: ledger record, deal in the Orders pipeline, contact with lifetime value and RFM segment.

Order payload
{
  "wc_order_id": 10482,
  "status": "completed",
  "total": 249.00,
  "currency": "USD",
  "customer_email": "ada@example.com",
  "items": [
    { "name": "Annual licence", "sku": "SP-PRO-1Y", "qty": 1, "price": 249.00 }
  ]
}
Sending it
curl -X POST "https://example.com/stillpoint-crm/?page=ecom_intake" \
  -H "Content-Type: application/json" \
  -H "X-Stillpoint-Token: YOUR_INTAKE_TOKEN" \
  --data @order.json
Shipped today

Website lead capture

Two options, depending on whether you are wiring from outside or inside WordPress. From outside, POST to the token-protected lead intake endpoint at /stillpoint-crm/?page=intake.

HTTP intake
curl -X POST "https://example.com/stillpoint-crm/?page=intake" \
  -H "Content-Type: application/json" \
  -H "X-Stillpoint-Token: YOUR_INTAKE_TOKEN" \
  -d '{"name":"Ada Lovelace","email":"ada@example.com","phone":"+27 21 555 0100","message":"Pricing for 4 seats?","source":"Contact form"}'

From inside WordPress, call the PHP helper from any form plugin's submission handler — Contact Form 7, WPForms, Gravity Forms, Fluent Forms or your own theme code. No token needed, because you are already in the application.

PHP helper
add_action( 'wpforms_process_complete', function ( $fields ) {
    if ( ! function_exists( 'stillpoint_crm_capture_lead' ) ) {
        return;
    }

    stillpoint_crm_capture_lead( array(
        'name'    => $fields[1]['value'],
        'email'   => $fields[2]['value'],
        'message' => $fields[3]['value'],
        'source'  => 'WPForms — contact page',
    ) );
}, 10, 1 );

Captured leads are scored and can be routed round-robin to an owner, so an inbound enquiry lands on someone's board rather than in a shared inbox.

Shipped today

Outbound webhooks

Register a URL per event and Stillpoint fires an HTTP request when that CRM event happens — a deal created, a deal moving stage, an invoice paid. That is enough to push into anything that accepts an inbound request: Slack, a data warehouse loader, an internal service, or an automation platform's catch hook.

Shipped today

Read-only JSON API

A token-authenticated GET endpoint for reporting and dashboards: /stillpoint-crm/?page=api&type=deals|contacts|companies&token=…. Point Google Sheets, Looker Studio, Metabase or a spreadsheet import at it and you have live CRM reporting without exporting anything by hand.

Example
curl "https://example.com/stillpoint-crm/?page=api&type=deals&token=YOUR_API_TOKEN"

To be explicit: this API is currently read-only. There are no write endpoints yet, so you cannot create or update records through it. A write API is the first item on the roadmap. Until it lands, writes come in through the intake endpoints above.

Shipped today

FluentCRM bridge

A native bridge to FluentCRM syncs contacts both ways and applies tags on sales events — a deal marked won or lost, or a customer's RFM segment changing after a purchase — so a FluentCRM journey can react to what actually happened in the pipeline or the store, not just to a form submission. Engagement flows back too: opens, clicks and journey stage from FluentCRM show up on the CRM contact, so a rep can see who has been nurtured before they call.

This works alongside FluentCRM, not instead of it. Stillpoint still does not send bulk or broadcast email itself — FluentCRM (or another marketing tool) remains the thing that composes and sends the campaign. See marketing automation for how segments, journeys and consent fit together, and Stillpoint vs FluentCRM for category fit.

Shipped today

Email send adapters

Marketing sends go out through a real transactional/bulk provider over SMTP — SendGrid, Mailgun, Postmark or Amazon SES — or through a capped direct SMTP connection for small lists, or by handing the send off to FluentCRM. Stillpoint does not operate its own outbound mail infrastructure, because reliable bulk delivery depends on reputation and infrastructure a single WordPress install cannot credibly provide.

Deliverability still comes down to your domain's authentication — SPF, DKIM and DMARC records — and keeping your spam-complaint rate under roughly 0.3%. Provider webhooks feed bounces and spam complaints back into the suppression list automatically, so an address that bounces hard or complains stops being mailed without anyone having to notice and act on it by hand. Full detail is on the marketing automation page.

Shipped today

Work-form endpoint

A token-protected POST endpoint turns a public form submission into a work item on a board, with mapped fields carried across as item fields — a client request form that lands directly on the right board rather than in an inbox someone has to triage and retype.

Submitting a form to a board
curl -X POST "https://example.com/stillpoint-crm/?page=work_intake"   -H "Content-Type: application/json"   -H "X-Stillpoint-Token: YOUR_INTAKE_TOKEN"   -d '{"board":"Client requests","title":"New logo request","fields":{"Requested by":"Ada Lovelace","Due":"2025-01-01"}}'

See work management for boards, forms and the rest of the work item model.

Shipped today

Real cron for scheduled work, journeys and campaigns

Scheduled work — recurring work items, journey step timers, and campaign sends — needs WordPress cron to run reliably even when nobody is browsing the site. WordPress's default “pseudo-cron” only fires on a page visit, which is fine for small sites but unreliable for anything time-sensitive. Disable it and call the real cron endpoint on a schedule instead:

wp-config.php
// wp-config.php — stop WordPress relying on page-visit "pseudo-cron"
define( 'DISABLE_WP_CRON', true );
System crontab
# System crontab — hit wp-cron.php on a real schedule every 5 minutes
*/5 * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1

Every five minutes is a sensible default; tighten it if you need journey steps or scheduled campaign sends to fire closer to their scheduled time.

Shipped today

Email — any provider, per user

Each user connects their own IMAP account for reading and SMTP for sending, with their own from-name and HTML signature. Because it is plain IMAP and SMTP, it works with Google Workspace, Microsoft 365, Fastmail or the mailboxes your host already gives you — no OAuth app to register and no provider-specific connector to wait for. Credentials are encrypted at rest with OpenSSL.

Honest requirement: reading the inbox needs the PHP imap extension enabled on your host. Without it, sending, templates and the sent log still work.

Shipped today

Gmail / Google Workspace (OAuth)

Needs your own credentials: you register an OAuth application in your own Google Cloud tenant and authorise the mailbox. Stillpoint stores a refresh token and never asks for your Google password. If you would rather skip the app-registration step, a Google app password over plain IMAP works immediately instead. Used for both the service desk and per-user team email — see email-to-ticket for the connector detail.

Shipped today

Microsoft 365 (Microsoft Graph, OAuth)

Needs your own credentials: an application registered in your own Microsoft Azure tenant, authorised for the mailbox by a tenant administrator. As with Google, IMAP remains available if you want to start collecting mail before that tenant admin work happens. See email-to-ticket for how this feeds the service desk.

Shipped today

IMAP, any provider

Works out of the box — no app registration, no OAuth consent screen. Host, username and password is enough for a cPanel mailbox, Zoho, Fastmail, or a Google or Microsoft mailbox with an app password. TLS certificate verification is always on, with no setting to switch it off. This is the fastest route into both per-user team email and the service desk.

Shipped today

SendGrid / Mailgun / Postmark

Needs an account and API key with the provider of your choice. For outbound, point your mailbox's SMTP configuration at the provider as a relay and your From address stays yours. For inbound support mail, the same three providers can be configured to post the raw message to Stillpoint's inbound webhook, which feeds email-to-ticket without touching a mailbox at all. Marketing sends use the same providers over SMTP — see marketing automation.

Shipped today

Amazon SES via SMTP

Needs your own AWS SES credentials. Configure your mailbox or marketing send adapter to use SES as an SMTP relay and Stillpoint sends through it like any other provider — there is no separate SES-specific setup inside the plugin beyond the SMTP credentials themselves.

Shipped today

Calendar

Every user gets a tokenised ICS feed URL. Subscribe to it from Google Calendar, Outlook or Apple Calendar and CRM follow-ups and scheduled activity appear alongside the rest of the day, on the phone as well as the desktop.

Shipped today

Data in and out

CSV import and export for contacts, companies and deals; a per-contact GDPR export for subject access requests; and PDF export for quotes and invoices, generated inside the plugin with no third-party service in the path. Your data is never held hostage by a format.

Shipped today

WordPress itself

Single sign-on is just the normal WordPress login — no second account system, no separate password. Access is controlled by the manage_stillpoint_crm capability, so your existing role editor decides who gets in, and CRM users are provisioned automatically from their WordPress account.

Connecting to Zapier, Make or n8n today

There is no native Stillpoint app in those directories yet — we would rather say so than let you find out after buying. What already exists is enough to wire Stillpoint into all three in both directions, because outbound webhooks cover the “out” leg and the intake endpoints cover the “in” leg.

  1. 1. Out of Stillpoint. Create a catch hook in Zapier, Make or n8n and paste that URL into a Stillpoint webhook for the event you care about. Every matching CRM event now starts an automation run.
  2. 2. Into Stillpoint. Use the platform's generic HTTP request step to POST to ?page=intake for leads or ?page=ecom_intake for orders, with your intake token in the header.
  3. 3. Read for reporting. Where a scenario needs to look something up rather than react, have it GET the read-only JSON API. Remember it cannot write yet, so the intake endpoints remain the write path.

A native Zapier and Make app is on the roadmap, and it becomes far more useful once the write API lands — which is why the write API is ahead of it in the order.

Works alongside your marketing tool, not instead of it

Stillpoint now includes segments, journeys and campaigns of its own — see marketing automation — but it has never tried to be, and still is not, a replacement for a dedicated marketing platform such as FluentCRM. Stillpoint does not operate its own bulk mail sending infrastructure; every send goes out through a provider you connect, and Stillpoint owns the pipeline, quotes, invoices and store data that feed it.

For teams already running FluentCRM, the shipped bridge above keeps the two in sync rather than asking you to choose: contacts and tags flow across, sales events and RFM segment changes can trigger a FluentCRM journey, and engagement comes back to the CRM contact. If category fit is what you are weighing up, read Stillpoint vs FluentCRM.

Wire it up in an afternoon

Install, connect your store and mailbox, drop the intake endpoint into your forms, and point your dashboards at the JSON API.

Unlimited users · Flat price per site · 30-day money-back guarantee