v1.0.0
LatestFirst public release.
In this release 26
- Accounts, contacts, leads, opportunities, tasks, calls, meetings and cases in the plugin's own normalised tables rather than as posts, so lists, filters and reporting stay fast as the data grows.
- Contacts carry as many email addresses and phone numbers as they really have, in their own tables, with one of each marked primary.
- Lead conversion into an account, a contact and an opportunity in one step.
- Customisable pipelines and stages with per-stage probability, a drag-and-drop kanban board and a weighted forecast.
- A calendar and scheduler covering tasks, calls and meetings on one view, with working hours, holidays and free/busy.
- Email sent from any record, with reusable templates and merge fields.
- Inbound email over IMAP, turning incoming mail into cases automatically. Messages are matched on Message-ID, so a message read twice is stored once.
- Campaigns, target lists and mass email, sent in batches from a queue. The unsubscribe link cannot be switched off, the `List-Unsubscribe` header goes with it, and one unsubscribe stops everything.
- Open and click tracking served entirely from your own domain.
- Cases with a controllable number sequence, and a knowledge base with a category tree, linkable to the cases it answers.
- A customer portal, as a block or a shortcode. Nothing is exposed until you set it up: case notes are private by default and articles need a separate setting before a customer sees one.
- A public knowledge base page, rendered on the server with no REST route behind it.
- Web-to-lead forms as a block, a shortcode or your own REST call, with a honeypot, a per-IP rate limit, optional CAPTCHA, double opt-in and a plain form fallback when JavaScript is off.
- Roles per entity and per action with an all, team, own or none scope, plus field-level rules. A user holding no role keeps exactly the access they had before you created one.
- Teams, whose membership is what gives the team scope its meaning.
- Custom fields on every entity, including two custom field types of your own.
- Reports with charts and a pipeline forecast, and arrangeable multi-tab dashboards seeded from templates.
- Duplicate detection and record merging, which brings the notes, files, activities and stars of both records onto the survivor.
- Notes, private file attachments, one tag vocabulary across every entity, a per-record activity stream with followers, favourites, and an audit log.
- A document library with a folder tree, separate from the files attached to a record.
- PDF templates and print, which work against any registered entity rather than a fixed list of document types.
- Import and export as CSV or Excel, with a column-matching step, lookups by name or code, errors reported by line number, and a revert.
- Outbound webhooks on record events, queued and retried, with private and reserved addresses refused on save and again before every request.
- An integrations framework with an encrypted credential store, a job queue and per-connector health checks.
- The whole application on a page of your own site through `[plugixa_crm_app]`, talking to the same API with the same permissions as the admin screen.
- A REST API under `plugixa-crm/v1`, and over eighty actions and filters for extending the plugin.