=== DoubleScale | All-in-One CRM – Sales, Multi-Channel Marketing, Newsletter, Booking, Helpdesk, Automation, MCP & More ===
Contributors: samuelgallegos, vixgrowy
Tags:  crm, email marketing, sales pipeline, newsletter, helpdesk
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.5.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Self-hosted CRM for newsletter, email marketing, SMS marketing, and WhatsApp marketing — plus sales, booking, helpdesk, and automations. One plugin.


== Description ==

**DoubleScale is the all-in-one CRM for WordPress.** Manage contacts, send email marketing campaigns and newsletters, automate follow-ups, run your sales pipeline, send proposals and invoices, take appointment bookings and answer support tickets, all from one plugin and one contact record, stored in your own WordPress database.

Instead of paying for a separate CRM, email marketing service, scheduling app, helpdesk and SMTP plugin, DoubleScale brings them together and keeps every customer's history in one timeline.

https://www.youtube.com/watch?v=UGLAKIIsPps

**Live demo:** [try.doublescale.io](https://try.doublescale.io) · **Website:** [doublescale.io](https://doublescale.io) · **Documentation:** [doublescale.io/docs](https://doublescale.io/docs/) · **Video tutorials:** [YouTube](https://www.youtube.com/@DoubleScale-CRM)

= Why teams choose DoubleScale =

* **One contact record for everything.** Campaigns, deals, invoices, bookings, tickets and tasks all attach to the same contact.
* **Turn on only what you need.** Every major module can be switched on or off from **Control Modules**, so your team sees a clean, focused admin.
* **Self-hosted and GDPR-friendly.** Your data stays in your WordPress database: no third-party CRM cloud, no vendor lock-in.
* **No per-contact pricing.** Unlimited contacts and unlimited custom fields.
* **Built for WordPress.** Native integrations with WooCommerce, popular form builders, LMS and membership plugins.

= Modular by design: switch modules on or off =

DoubleScale is a modular CRM plugin. Open **Control Modules** in the DoubleScale header to enable or disable Sales (with Pipelines, Proposals & Invoices, Contracts, Credit Notes and Products), Campaigns, Automations, Forms, Booking, Helpdesk, Tasks, Projects and SMTP. Turning a module off hides its menus and pauses its background jobs, APIs and role permissions. Turn it back on at any time without reinstalling, and nothing is lost.

= CRM and contact management =

A complete WordPress CRM for leads and customers. Store unlimited contacts with custom fields, organise them with tags and lists, and build dynamic segments with rules. Import contacts from CSV, WordPress users or WooCommerce customers. Every contact has a full activity timeline showing emails, messages, deals, bookings, support tickets, form submissions, page visits and automation runs, in one chronological view.

= Email marketing and newsletters =

Send professional email marketing campaigns and newsletters directly from WordPress.

* Drag-and-drop email builder with responsive blocks, saved templates and merge tags
* Broadcast to lists, tags or segments, send now or schedule for later
* A/B testing for subject lines and content
* Email sequences (drip campaigns) for onboarding and nurture flows
* Open, click, bounce and unsubscribe tracking with full delivery logs
* Unsubscribe and preference pages handled for you

= SMS and WhatsApp marketing (Pro) =

Reach customers on the channels they read most. Send SMS campaigns through Twilio and WhatsApp campaigns with Meta-approved WhatsApp Business templates, using the same audiences, composer and merge tags as email. Opt-outs and delivery status are recorded on each contact.

= Marketing automation =

A visual workflow builder that connects every module. Choose from 100+ triggers across contacts, campaigns, deals, forms, bookings, support tickets, WooCommerce, LMS and membership plugins, then add actions: send an email, SMS or WhatsApp message, start an email sequence, add tags, update a deal, create a task or call a webhook. Add delays, conditions, goals and branches to build complete customer journeys, such as welcome series, abandoned cart recovery, lead nurturing and post-purchase follow-ups.

= Sales pipeline and deal management =

Track every opportunity on a drag-and-drop kanban board. Create multiple sales pipelines with custom stages, deal values, owners and custom fields, and see forecasts at a glance. Moving a deal to a new stage can trigger automations, for example sending a proposal, creating a task or tagging the contact.

= Proposals, quotes, invoices and contracts =

Run the whole quote-to-cash process inside WordPress.

* **Proposals and quotes** with line items, taxes and online acceptance with e-signature
* **One-click conversion** from an accepted proposal to an invoice
* **Invoices** with branded PDFs and online payments through Stripe, PayPal and other gateways (Pro)
* **Contracts** with templates and signatures
* **Credit notes**, products and tax rates
* **XRechnung e-invoices** for German public-sector customers (Pro)
* **Subscriptions** and recurring billing (Pro)

= Client portal =

Give customers one secure place to see their proposals, invoices, contracts, bookings and support tickets. Add the portal to any page with the `[doublescale_client_portal]` shortcode. Customers can accept proposals, pay invoices and follow their documents without emailing you.

= Appointment booking and scheduling =

A complete appointment booking system built into your CRM, so you no longer need Calendly or a separate booking plugin. Clients book meetings, consultations, demos, classes and coaching sessions from a booking page on your own site, and every booking is saved on their contact record.

* **One-to-one and group events**, with a maximum number of attendees per time slot
* **Availability schedules** with working hours, date overrides, buffer time between meetings and booking frequency limits
* **Embeddable booking pages** with automatic time zone detection for your guests
* **A booking form** that collects your guests' details before the meeting
* **Email confirmations and reminders** for guests and hosts, with easy rescheduling and cancellation
* **Zoom meetings** created automatically for online appointments
* **Bookings dashboard** to view, filter and manage every appointment
* **Booking Manager and Booking Agent roles** so each team member manages their own calendar
* **Automations** that run when a booking is created, confirmed, rescheduled, completed or cancelled, for example to send a follow-up sequence or create a deal

**Booking Pro** adds team scheduling with round-robin and collective availability, two-way calendar sync with Google Calendar, Outlook / Microsoft 365, Apple Calendar and iCal, Google Meet and Microsoft Teams links, custom booking questions with conditional logic, paid bookings with online payments, waiting lists when a slot is full, and SMS reminders.

= Helpdesk and support tickets =

A complete ticketing system next to your sales and marketing data.

* Shared inbox with overview cards for all, open, pending, resolved and closed tickets
* Assign agents, set status and priority, add tags, internal notes and CC recipients
* File attachments with secure downloads
* Customer support portal on any page with `[doublescale_support_portal]`, or inside the client portal
* Email notifications for customers and agents, plus helpdesk reports
* Email-to-ticket through IMAP, custom ticket fields, auto close for inactive tickets and an incoming webhook (Pro)

= Tasks and projects (Pro) =

Plan and deliver client work without a separate project management tool. Create and assign tasks with due dates and reminders, and manage projects on kanban boards with statuses, progress, discussions and custom fields, all linked to contacts and invoices.

= Built-in SMTP for reliable email delivery =

Replace your SMTP plugin. DoubleScale routes `wp_mail()` through 20+ email providers, including Amazon SES, SendGrid, Mailgun, Postmark, Brevo, SparkPost, SMTP2GO, Mailjet, MailerSend, Mandrill, Elastic Email, SendLayer, SocketLabs, toSend, Emailit, Gmail, Outlook, Zoho and any SMTP server. Use different connections for transactional and marketing email, add a fallback connection, send test emails and review full email logs.

= Analytics and reports =

Dashboards for contacts, campaigns, email delivery, automations, sales pipelines and support, with KPI cards, charts, date ranges and CSV export, so everyone can see what is working without exporting data to another tool.

= Team roles and permissions =

Give every team member the access they need and nothing more. DoubleScale adds scoped roles for each area: CRM Manager, Sales Manager and Sales Rep (Pro), Project Manager and Project Member (Pro), Support Manager and Support Agent, Booking Manager and Booking Agent, and Automation Manager and Automation Agent. Users can hold more than one role, and each person can choose their own notifications.

= AI and MCP =

* **AI writing assistant.** Connect your own OpenAI, Google Gemini, Groq, OpenRouter or OpenAI-compatible API key to draft emails, generate templates and suggest subject lines.
* **Built-in MCP server.** Connect Claude, Cursor and other Model Context Protocol clients with API keys, so AI assistants can work with your contacts, documents, campaigns and bookings, within the same module and role permissions as your team.

= Integrations =

* **E-commerce:** WooCommerce (orders, customers, abandoned carts, subscriptions and reviews), Easy Digital Downloads and SureCart
* **Form builders:** Contact Form 7, WPForms, Fluent Forms and Quill Forms (free); Elementor Forms, Gravity Forms, Ninja Forms, Formidable Forms, Forminator, MetForm, WS Form, Bit Form, SureForms, eForm and JetFormBuilder (Pro)
* **LMS:** LearnDash, Tutor LMS, LifterLMS and LearnPress
* **Membership:** MemberPress and Paid Memberships Pro
* **Messaging and payments:** Twilio, WhatsApp Business, Stripe, PayPal and more

= Who is DoubleScale for? =

Small businesses, agencies, consultants, coaches, course creators, online stores and growing sales and support teams who want a self-hosted WordPress CRM that replaces several SaaS subscriptions, from solo founders to teams managing 100,000+ contacts.

= How DoubleScale compares =

Looking for a HubSpot alternative, a Mailchimp alternative or a FluentCRM alternative? See our detailed comparisons: [vs FluentCRM](https://doublescale.io/compare/vs-fluentcrm/) · [vs HubSpot](https://doublescale.io/compare/vs-hubspot/) · [vs ActiveCampaign](https://doublescale.io/compare/vs-activecampaign/) · [vs Pipedrive](https://doublescale.io/compare/vs-pipedrive/) · [vs GoHighLevel](https://doublescale.io/compare/vs-gohighlevel/) · [vs FunnelKit](https://doublescale.io/compare/vs-funnelkit/) · [vs Brevo](https://doublescale.io/compare/vs-brevo/) · [vs MailerLite](https://doublescale.io/compare/vs-mailerlite/) · [vs Omnisend](https://doublescale.io/compare/vs-omnisend/)


== Source Code ==

This plugin includes compiled JavaScript and CSS in the `build/` directory. Human-readable source lives in `src/`.

**Public repository:** [DoubleScale on GitHub](https://github.com/vixgrow/DoubleScale)

**Build from source**
1. Install Node.js (LTS recommended)
2. From the plugin directory: `npm install`
3. Production assets: `npm run build`
4. Development/watch: `npm run dev`

Outputs include client bundles under `build/`. Third-party libraries are listed in `package.json`.

**Lint / code standards**

The PHP code follows the WordPress Coding Standards (WPCS 3.x) with `WordPress-Extra` (security sniffs) and `PHPCompatibilityWP` enabled.

1. `composer install` — installs PHPCS, WPCS, and the rest of the dev tools.
2. `composer lint` — runs `phpcs --standard=phpcs.xml.dist` against `doublescale.php`, `includes/`, `bin/`, and `phpunit/`.
3. `composer format` — runs `phpcbf` to auto-fix what it can (whitespace, indentation, brace style).

For plugin-structure / readme / asset-organization checks, install the official [Plugin Check](https://wordpress.org/plugins/plugin-check/) plugin into a local WordPress install and run it via **Tools → Plugin Check**. Plugin Check is the same tool the WordPress.org review team runs.

== Screenshots ==

1. **Dashboard** — Analytics overview with KPI cards, quick links, recent contacts, and contact analytics chart.
2. **Contact Details** — Full contact profile with activity timeline, channel subscriptions, lists, and tags.
3. **Email Builder** — Drag-and-drop campaign editor with responsive blocks, merge tags, and template library.
4. **Automation Builder** — Visual workflow editor with triggers, conditions, and branching actions.
5. **Booking Event Setup** — Configure event details, duration, color, location, and live preview.
6. **Booking Calendar** — Frontend booking page with date/time picker and automatic time-zone detection.
7. **SMTP Providers** — Choose from 20+ mail providers including SendGrid, Amazon SES, Gmail, Mailgun, and more.

== Installation ==

= Automatic =

1. In wp-admin go to **Plugins → Add New**
2. Search for **DoubleScale**
3. Install and activate
4. Open **DoubleScale** from the admin menu and complete onboarding

= Manual upload =

1. Download the plugin ZIP
2. **Plugins → Add New → Upload Plugin**
3. Activate **DoubleScale**

= After activation =

1. Review **DoubleScale → Settings**
2. Connect an SMTP provider (the SMTP module replaces `wp_mail()` immediately)
3. Import or sync contacts (CSV, WordPress users, or WooCommerce customers)
4. Create your first list, automation, booking calendar, or campaign

You'll have a working CRM + email engine + booking page in under 10 minutes.

== Frequently Asked Questions ==

= Can DoubleScale really replace my CRM, email marketing, booking and helpdesk tools? =

Yes, that is what it is built for. DoubleScale covers contact management, email marketing and newsletters, marketing automation, sales pipelines, proposals and invoices, appointment booking, a helpdesk, built-in SMTP and reports in one plugin, with SMS, WhatsApp, tasks and projects available in Pro. Every module shares one contact record, one activity timeline and one automation engine, so you can retire separate tools such as a hosted CRM, Mailchimp, Calendly, an SMTP plugin and a standalone helpdesk.

= Can I turn off the modules I do not need? =

Yes. Click **Control Modules** in the DoubleScale header to switch Sales (and its sub-modules), Campaigns, Automations, Forms, Booking, Helpdesk, Tasks, Projects and SMTP on or off. A disabled module's menus, APIs, background jobs and role permissions are paused, and everything comes back exactly as it was when you turn it on again. Contacts are always on.

= How is DoubleScale different from FluentCRM or Groundhogg? =

Most WordPress CRM plugins focus on contacts, email marketing and automation. DoubleScale includes those and adds sales pipelines, proposals and invoices, appointment booking, a support ticket system, a client portal and built-in SMTP, all around the same contact record, so you do not need extra plugins for each. See the full [DoubleScale vs FluentCRM comparison](https://doublescale.io/compare/vs-fluentcrm/).

= Is there a limit on contacts? =

No. DoubleScale never charges per contact, and the free plugin supports unlimited contacts. Sites with more than 100,000 contacts have been benchmarked.

= Where is my data stored? =

In your own WordPress database. Contacts, deals, documents, emails, tickets and tracking events are stored in tables on your server. Third-party services such as email providers, Twilio or Stripe are only contacted when you connect them yourself.

= Does DoubleScale work with WooCommerce? =

Yes, natively. Customers and orders flow into the CRM, and you can trigger campaigns and automations from order, subscription, review and abandoned cart events, including abandoned cart recovery. See the [DoubleScale WooCommerce CRM integration guide](https://doublescale.io/integrations/woocommerce/).

= Can I send SMS and WhatsApp messages? =

Yes, with DoubleScale Pro. SMS is sent through Twilio and WhatsApp through the WhatsApp Business Platform with Meta-approved templates. Both use the same audiences, composer and merge tags as email, in campaigns and in automations.

= How does the booking module compare to Calendly? =

It offers the core scheduling experience: availability rules, embeddable booking pages, confirmations, reminders and automatic time zones. The difference is that every booking lands on the contact record, can start an automation and stays in your own database. Paid bookings, waiting lists and calendar sync are available in Pro.

= Can the helpdesk replace Help Scout, Zendesk or Freshdesk? =

For many small and growing teams, yes. You get a shared ticket inbox with statuses, priorities, tags, internal notes, agent assignment, attachments, email notifications, reports and a customer support portal. Pro adds email-to-ticket through IMAP, custom ticket fields, auto close and an incoming webhook. Because tickets sit next to sales and marketing data, agents always see the full customer history.

= Can customers open tickets from my website? =

Yes. Add the `[doublescale_support_portal]` shortcode to any page for a dedicated support portal, or use the `[doublescale_client_portal]` shortcode to give customers one place for their tickets, proposals, invoices and bookings. The client portal page is created automatically when you activate the plugin.

= How do team roles work? =

DoubleScale adds scoped roles so each person sees only what they need: CRM Manager, Sales Manager and Sales Rep (Pro), Project Manager and Project Member (Pro), Support Manager and Support Agent, Booking Manager and Booking Agent, and Automation Manager and Automation Agent. For example, a sales rep sees only their own deals, a support agent works on their assigned tickets, and an automation agent manages only the workflows they created. Site administrators have full access, users can hold several roles, and each person chooses their own notifications.

= Which form plugins are supported? =

Fifteen form builders. Four are included in the free plugin: [Contact Form 7](https://doublescale.io/integrations/contact-form-007/), [WPForms](https://doublescale.io/integrations/wpforms/), [Fluent Forms](https://doublescale.io/integrations/fluent-forms/) and [Quill Forms](https://doublescale.io/integrations/quill-forms/). Eleven more come with Pro: [Elementor Forms](https://doublescale.io/integrations/elementor/), [Gravity Forms](https://doublescale.io/integrations/gravity-forms/), [Ninja Forms](https://doublescale.io/integrations/ninja-forms/), [Formidable Forms](https://doublescale.io/integrations/formidable-forms/), [Forminator](https://doublescale.io/integrations/forminator-forms/), [MetForm](https://doublescale.io/integrations/metform/), WS Form, Bit Form, SureForms, eForm and JetFormBuilder. Submissions create or update contacts with tags, lists and mapped fields.

= How do I import my existing contacts? =

Import from a CSV file with field mapping and a preview, sync WordPress users, or import WooCommerce customers. Pro adds connectors for other CRMs and email platforms, such as ActiveCampaign.

= Will DoubleScale slow down my website? =

No. Heavy work such as campaign sending, automations and tracking runs in the background through Action Scheduler, so your public pages stay fast.

= Where can I learn how to use it? =

Watch the step-by-step video tutorials on the [DoubleScale YouTube channel](https://www.youtube.com/@DoubleScale-CRM), or open **Watch Tutorial** inside the plugin. Documentation and setup guides are at [doublescale.io/docs](https://doublescale.io/docs/).

= How do I get help? =

Free support is available in the WordPress.org forum. DoubleScale Pro includes email and priority support.

== Changelog ==

= 1.5.0 = 5 Oct 2026
**New**

- Helpdesk inbox overview: All, Open, Pending, Resolved and Closed cards that filter the ticket list in one click
- Helpdesk: an actions menu on every ticket (view, mark as resolved, close, reopen, delete)
- Helpdesk staff (Support Manager and Support Agent) choose their own helpdesk notifications in Settings
- Automation Manager and Automation Agent roles: agents build and manage their own workflows, managers see them all
- Automation staff choose their own automation alerts
- Automation goals: a contact who reaches a goal jumps ahead, and an unmet goal can wait, continue or end the run, with the journey showing why
- New "Email Opened" automation trigger (DoubleScale Pro): start a workflow when a contact opens an email, for every email or only chosen campaigns
- A link click in an email whose images were blocked now counts as an open for automations, notifications and lead scoring
- toSend and Emailit email providers in SMTP
- "Watch Tutorial" buttons open the video tutorials for Email Marketing, Sales Pipeline, Proposals & Invoices, Automations and Helpdesk
- Middle-click and Ctrl/Cmd+click open admin pages and list entries in a new tab
- Invoices: service date or period of supply, buyer reference, and the § 19 / reverse-charge note for untaxed lines
- Invoices: hooks for DoubleScale Pro's XRechnung e-invoice export, a warning when an invoice changed after its XRechnung was issued, and add-ons can attach files to the invoice email
- Campaigns: unsubscribe reasons and contact links in the overview, and the open tab is kept in the address
- Campaigns: open a contact's profile from the Unsubscribes list
- WhatsApp campaign analytics show one Total Recipients card
- Contacts: hover "+N" to see the tags and lists it hides
- Refreshed booking editor layout and icons
- Team management now says "Team Member" and explains what each member can do

**Fixes and improvements**

- Campaigns: merge tags (unsubscribe link, first name, open tracking) are converted for the mailer the From address actually sends through, and the batch size follows that mailer
- Campaigns: scheduled campaigns show their send time in the lists
- Campaigns: the SMS and WhatsApp phone preview shows the real message
- Campaigns: paused and cancelled campaigns open on their overview
- Campaigns: the Unsubscribes list shows the real reason and the WhatsApp number
- Campaigns: duration is reported in whole seconds (no PHP 8.1 deprecation notice)
- Helpdesk: reports count agent replies, not every message activity
- Helpdesk: the ticket stays on screen while it saves, and status, priority and tag changes show at once
- Helpdesk: ticket history reads as plain sentences with the agents' names
- Helpdesk: a single support mailbox, with no mailbox choices to make
- Client portal: customers see their real ticket history, and a ticket shows as Open again right after they reply
- Helpdesk: the agent reply email no longer assumes the agent's gender
- Automations: a phone number shared by two contacts never blocks a run or takes over the other contact
- Automations: WooCommerce order workflows (DoubleScale Pro) save the buyer's phone number on the contact, and their WhatsApp number with the country code
- Automations: a step panel closed while saving stays closed, condition rules line up, and the trigger list names "Lists Applied" instead of its slug
- Automations: delay lengths read naturally in the journey
- Automations: the Zapier action is removed; the HTTP Request action covers it
- Contacts: long tag and list chips no longer overflow the contacts table
- Contacts: the unsubscribe preference form answers exactly once
- Email: a saved copy of the default footer still counts as the default, and an email's own unsubscribe link takes precedence over it
- Email: buttons keep their styling across email clients
- Documents: the admin preview, client portal and public pages show the company block exactly as the PDF prints it
- Documents: the PDF, XRechnung and View buttons fit on the document card
- Errors from invoice and proposal list actions now scroll into view instead of appearing off-screen
- Booking: a missing booking answers "not found", and the bookings list always shows the latest filter's results
- SMTP: saving a toSend connection checks that its From domain is verified
- SMTP: email subjects keep characters such as < > and %
- Tables keep their rows in place when a page rebuilds its columns
- The sales email template editor loads only for people who may edit it

= 1.4.6 = 27 Sep 2026
- Rename a campaign at any status from the campaign list or the campaign overview
- Show the total contact count while searching
- Keep campaign delivery and read rates in sync with the per-status counts
- Name the missing email, phone, or WhatsApp address in the skipped-recipients banner
- Cap the campaign recipients list so Next Step stays reachable
- Fix contact filters so "Is empty" and "Is not empty" match the right people
- Apply WhatsApp recipient cooldown on campaign resends
- Keep a delivered Send Email, SMS, or WhatsApp automation step from failing the run

= 1.4.5 = 27 Sep 2026
- Update the product overview YouTube video

= 1.4.4 = 27 Sep 2026
- Show the product overview video on Get Started
- Stop WhatsApp resends from hitting Meta's per-user marketing cap
- Keep the booking event screen from going blank when limits were never saved

= 1.4.3 = 25 Sep 2026
- Fix an issue with Meta daily limits

= 1.4.2 = 24 Sep 2026
- Collect named WhatsApp template variables in the campaign step
- Stop campaigns from pausing on Meta messaging-tier quotas
- Still block WhatsApp sends when the Meta account itself is restricted
- Prevent deleting or renaming email templates that a campaign still uses
- Improve campaign message lists and bulk actions
- Keep debug logs working when a message contains malformed UTF-8

= 1.4.1 = 23 Sep 2026
- Add WhatsApp campaigns with Meta template matching, header media, carousel cards, and button variables
- Show how many WhatsApp recipients are reachable before send
- Cancel a scheduled campaign
- Recover stranded campaign messages and keep campaign analytics in sync
- Add merge-tag fallbacks when a field is empty
- Show a created date on SMTP connections (including older connections)
- Always log DoubleScale emails, including automations, by tracking reference instead of the HTML body
- Submit sales documents for approval
- Improve booking iframe embedding, confirmation layout, and mobile layout
- Keep queued task callbacks working when Action Scheduler unwraps their arguments
- Distinguish a disabled module from a failed request in admin fetches

= 1.4.0 = 21 Sep 2026
- Always log campaign and automation emails as a tracking reference instead of a copy of the HTML per recipient
- Send individual emails as conversation messages, without the campaign card or “Sent from” footer
- Do not append a second unsubscribe footer when the message already has one
- Isolate the support portal in a Shadow DOM so theme CSS cannot restyle it
- Route SMTP by matching the From address before falling back to other connections
- Keep typing in paginated selects while options are still loading
- Ignore stale WhatsApp failure webhooks after the message has already been delivered
- Apply the per-second send cap to automation emails
- Run consecutive cheap automation steps in one go instead of queueing each one
- Size the Action Scheduler runner for queue-heavy modules
- Keep editor selection working inside Shadow DOM contenteditable fields
- Show CSV in uppercase on the contact import wizard

The full history of earlier versions is in [changelog.txt](https://plugins.svn.wordpress.org/doublescale/trunk/changelog.txt).

== Upgrade Notice ==

= 1.0.0 =
First stable release.

== Privacy Policy ==

DoubleScale stores CRM, campaign, booking, task, support, and analytics data in your WordPress database. The plugin does not transmit that core repository to DoubleScale servers by default.

Where you enable optional third-party integrations (SMTP providers, Twilio, Stripe, WhatsApp, Slack, ActiveCampaign, HubSpot, etc.), data flows are governed by those providers' terms — and only carry the fields you explicitly map. You can disable any connector by removing credentials or turning off related automations.

Privacy-minded operators have access to: per-contact GDPR exports, hard-delete workflows, consent tracking per channel, retention rules for tracking data, and unsubscribe handling for every send.

== External Services ==

DoubleScale connects to external services **only when you configure** those integrations. No data is transmitted without your API keys, OAuth grants, or explicit provider setup. Each provider listed below is independent of DoubleScale; using one means you also agree to that provider's terms and privacy policy.

For every service below:

* **Endpoint** — API base URL used after you save credentials (not a public marketing or documentation page; it may not load in a browser).
* **Terms** / **Privacy** — Public legal pages for that provider. These are the URLs WordPress reviewers and site owners should open to read each service's policies.

= AI services =

**OpenAI (optional)**
* Purpose: AI-assisted email composition and template generation.
* Data sent: The prompt text and any campaign content you submit through the AI builder. Sent only when you click an AI generate action.
* Endpoint: `https://api.openai.com`
* Terms: https://openai.com/policies/terms-of-use
* Privacy: https://openai.com/policies/privacy-policy

**Google Gemini (optional)**
* Purpose: Alternative AI provider for email composition.
* Data sent: Prompt text and campaign content, only when you click an AI generate action.
* Endpoint: `https://generativelanguage.googleapis.com`
* Terms: https://policies.google.com/terms
* Privacy: https://policies.google.com/privacy

= SMTP / email providers =

Each provider is selectable per connection. DoubleScale sends outgoing mail to that provider's API only after you save credentials.

* **SendGrid** — `https://api.sendgrid.com` · [Terms](https://www.twilio.com/legal/tos) · [Privacy](https://www.twilio.com/legal/privacy)
* **Mailgun** — `https://api.mailgun.net` · [Terms](https://www.mailgun.com/terms) · [Privacy](https://www.mailgun.com/privacy-policy)
* **Postmark** — `https://api.postmarkapp.com` · [Terms](https://postmarkapp.com/terms-of-service) · [Privacy](https://postmarkapp.com/privacy-policy)
* **SparkPost** — `https://api.sparkpost.com` · [Terms](https://www.sparkpost.com/legal/terms-of-use) · [Privacy](https://bird.com/en/legal/privacy)
* **SMTP.com** — `https://api.smtp.com` · [Terms](https://smtp.com/terms-of-service) · [Privacy](https://smtp.com/privacy-policy)
* **SMTP2GO** — `https://api.smtp2go.com` · [Terms](https://www.smtp2go.com/terms/) · [Privacy](https://www.smtp2go.com/privacy/)
* **MailerSend** — `https://api.mailersend.com` · [Terms](https://www.mailersend.com/legal/terms-of-use) · [Privacy](https://www.mailersend.com/legal/privacy-policy)
* **Mailjet** — `https://api.mailjet.com` · [Terms](https://www.mailjet.com/legal/terms) · [Privacy](https://www.mailjet.com/privacy-policy/)
* **Brevo (Sendinblue)** — `https://api.brevo.com` · [Terms](https://www.brevo.com/legal/termsofuse/) · [Privacy](https://www.brevo.com/legal/privacypolicy/)
* **Mandrill** — `https://mandrillapp.com/api` · [Terms](https://mailchimp.com/legal/terms/) · [Privacy](https://mailchimp.com/legal/privacy/)
* **ElasticEmail** — `https://api.elasticemail.com` · [Terms](https://elasticemail.com/resources/usage-policies/terms-of-use/) · [Privacy](https://elasticemail.com/resources/usage-policies/privacy-policy/)
* **SendLayer** — `https://console.sendlayer.com/api` · [Terms](https://sendlayer.com/terms-of-service/) · [Privacy](https://sendlayer.com/privacy-policy/)
* **SocketLabs** — `https://inject.socketlabs.com` · [Terms](https://www.socketlabs.com/terms-of-use) · [Privacy](https://www.socketlabs.com/privacy-policy/)
* **Loops** — `https://app.loops.so/api` · [Terms](https://loops.so/terms) · [Privacy](https://loops.so/privacy)
* **Amazon SES** — AWS regional endpoints (e.g. `https://email.us-east-1.amazonaws.com`) · [Terms](https://aws.amazon.com/service-terms/) · [Privacy](https://aws.amazon.com/privacy/)

= OAuth-based mail providers =

Send mail through your own account via OAuth. Outgoing email content and profile email are sent on connect.

* **Gmail / Google Workspace** — `https://www.googleapis.com/oauth2/*`, `https://gmail.googleapis.com` · [Terms](https://policies.google.com/terms) · [Privacy](https://policies.google.com/privacy)
* **Microsoft Outlook / 365** — `https://login.microsoftonline.com`, `https://graph.microsoft.com` · [Terms](https://www.microsoft.com/legal/terms-of-use) · [Privacy](https://privacy.microsoft.com/privacystatement)
* **Zoho Mail** — `https://accounts.zoho.com`, `https://mail.zoho.com/api` · [Terms](https://www.zoho.com/terms.html) · [Privacy](https://www.zoho.com/privacy.html)

= CRM sync providers (Pro) =

Two-way contact and deal sync. Only mapped fields are sent.

* **ActiveCampaign** — Your account's API host · [Terms](https://www.activecampaign.com/legal/terms-of-service) · [Privacy](https://www.activecampaign.com/legal/privacy-policy)
* **HubSpot** — `https://api.hubapi.com` · [Terms](https://legal.hubspot.com/terms-of-service) · [Privacy](https://legal.hubspot.com/privacy-policy)
* **Pipedrive** — `https://api.pipedrive.com` · [Terms](https://www.pipedrive.com/en/terms-of-service) · [Privacy](https://www.pipedrive.com/en/privacy)
* **GoHighLevel** — `https://marketplace.gohighlevel.com`, `https://services.leadconnectorhq.com` · [Terms](https://www.gohighlevel.com/terms-of-service) · [Privacy](https://www.gohighlevel.com/privacy-policy)

= Messaging providers (Pro) =

* **Twilio** — SMS sending and inbound. Phone numbers and message content sent. `https://api.twilio.com` · [Terms](https://www.twilio.com/legal/tos) · [Privacy](https://www.twilio.com/legal/privacy)
* **Meta WhatsApp Business** — WhatsApp sending and inbound via Cloud API. `https://graph.facebook.com` · [Terms](https://www.whatsapp.com/legal/business-terms) · [Privacy](https://www.whatsapp.com/legal/business-data-transfer-addendum)

= Payments (Pro) =

* **Stripe** — Booking payments (amount, currency, payer email). `https://api.stripe.com` · [Terms](https://stripe.com/legal) · [Privacy](https://stripe.com/privacy)

= Plugin-specific services =

* **DoubleScale (doublescale.io)** — License validation, Pro add-on store, update checks. Sends site URL, environment type, and (on explicit action) license key / add-on ID. No CRM or contact data. `https://doublescale.io` · [Terms](https://doublescale.io/terms) · [Privacy](https://doublescale.io/privacy)
* **UI Avatars (ui-avatars.com)** — Gravatar fallback. The browser loads an initials avatar when no Gravatar exists; only the display name is in the URL. `https://ui-avatars.com/api/` · [Terms](https://ui-avatars.com/terms) · [Privacy](https://ui-avatars.com/privacy)

= AI provider endpoints (optional, bring-your-own-key) =

Point DoubleScale at any OpenAI-compatible endpoint with your own API key. Providers are **not** contacted unless you save credentials.

* **OpenRouter** — `https://openrouter.ai/api/v1` · [Terms](https://openrouter.ai/terms) · [Privacy](https://openrouter.ai/privacy)
* **Groq** — `https://api.groq.com/openai/v1` · [Terms](https://groq.com/terms-of-use) · [Privacy](https://groq.com/privacy-policy)
* Any other OpenAI-compatible endpoint you supply.

= Disabling =

Disable any connector by removing its credentials in **DoubleScale → Settings** or by deactivating the related automation. Outgoing API calls only happen when you trigger an action that requires the configured service.

== Credits ==

* **Website & documentation:** [doublescale.io](https://doublescale.io)

== Support ==

* **Website & documentation:** [doublescale.io](https://doublescale.io)
* **WordPress.org support:** https://wordpress.org/support/plugin/doublescale/ (when the plugin listing is public)

== Contribute ==

Bug reports, ideas, and pull requests are welcome on the public GitHub repository linked in the **Source Code** section.

== Languages ==

DoubleScale is translation-ready. English ships by default.

Shipped language files live in the plugin `languages/` folder:

* `doublescale.pot` — translation template for translators and Loco Translate

Locale `.po` / `.mo` files are generated at release time or created by translation plugins on the site. English uses the source strings by default.

Compatible with **Loco Translate**, **WPML**, **Polylang**, and other WordPress translation tools. Regenerate the template after string changes with:

`npm run make-pot`

Compile `.mo` files locally when needed with:

`npm run make-mo`

Community translations are also welcome on WordPress.org once the plugin listing is public.

== Compare ==


== Integrations ==

Detailed setup guides for connecting DoubleScale with your existing WordPress tools:

**E-commerce & CRM**

* **WooCommerce CRM Integration:** [doublescale.io/integrations/woocommerce](https://doublescale.io/integrations/woocommerce/)
* **LearnDash CRM Integration:** [doublescale.io/integrations/learndash](https://doublescale.io/integrations/learndash/)

