Title: Calendar and CRM by J6
Author: get2jhavikas
Published: <strong>October 5, 2026</strong>
Last modified: October 5, 2026

---

Search plugins

![](https://ps.w.org/j6-calendar-and-crm/assets/banner-772x250.png?rev=3728378)

![](https://ps.w.org/j6-calendar-and-crm/assets/icon-256x256.png?rev=3728378)

# Calendar and CRM by J6

 By [get2jhavikas](https://profiles.wordpress.org/get2jhavikas/)

[Download](https://downloads.wordpress.org/plugin/j6-calendar-and-crm.2.1.29.zip)

 * [Details](https://wordpress.org/plugins/j6-calendar-and-crm/#description)
 * [Reviews](https://wordpress.org/plugins/j6-calendar-and-crm/#reviews)
 *  [Installation](https://wordpress.org/plugins/j6-calendar-and-crm/#installation)
 * [Development](https://wordpress.org/plugins/j6-calendar-and-crm/#developers)

 [Support](https://wordpress.org/support/plugin/j6-calendar-and-crm/)

## Description

Calendar and CRM by J6 turns your WordPress site into a booking desk and a lightweight
CRM in one. Visitors book meetings on your own domain. Everyone who books becomes
a contact you can move through a pipeline, tag, message and follow up with, without
copying data between tools.

Your bookings, contacts, availability and calendar tokens live in your own WordPress
database.

#### Booking

 * A booking page on your own domain (default `yoursite.com/calendar`, you can rename
   it) that adapts to light and dark, in English, Hindi, Spanish, French and German.
 * Multiple hosts, each with a personal booking link, and deep links straight to
   one meeting type.
 * Google Calendar or Outlook sync for every host: busy times block automatically,
   and new bookings create calendar events with a Google Meet or Teams link.
 * Weekly hours, date overrides, buffers, minimum notice, daily and weekly caps,
   and a rolling booking window.
 * Round-robin, collective and group (multi-seat) meetings, with a waitlist when
   a session is full.
 * Custom booking questions, including file uploads (PDF, JPG, PNG).
 * Self-serve reschedule and cancel links for invitees.
 * Take payment for a booking with your own payment link (for example Stripe or 
   Razorpay) and mark bookings as paid when the payment webhook arrives.
 * Embed anywhere: a block, a shortcode, a popup button or a floating launcher.

#### CRM

 * Every booker is saved as a contact automatically, deduplicated by email or phone.
 * Pipeline stages, tags, custom fields, a lead owner, search and filters, and CSV
   import and export.
 * A contact card with the full booking and message history, and the contact’s WhatsApp
   conversation when Periskope is connected.
 * Automations: when a contact changes stage or gets a tag, send a WhatsApp message
   or an email, or post to Slack.

#### Messages and reminders

 * Confirmation, reschedule and cancellation emails you can rewrite with `{placeholders}`.
 * Reminders before the meeting, at a set time on the day, or after it (for thank-
   yous and follow-ups), by email or WhatsApp.
 * WhatsApp through Periskope or the official WhatsApp Business Cloud API, with 
   opt-out (STOP) handling.
 * Send email through your own SMTP server or a provider API (Resend, SendGrid, 
   Mailchimp Transactional), or leave it on WordPress’s default mail.

#### Two ways to connect calendars

On first setup you choose how hosts link Google or Outlook. You can switch at any
time without losing data.

 * **Bring your own app (free).** Use your own Google Cloud or Microsoft Azure credentials.
   A step-by-step wizard walks you through creating them. Calendar sign-in never
   goes through J6 Venture in this mode.
 * **One-click Connect (optional paid service).** Hosts sign in with Google or Microsoft
   through J6 Venture’s verified app, with no cloud setup. This is an external service
   provided by J6 Venture and needs a J6 Connect key (one-time purchase, 7-day money-
   back: https://j6venture.com/refund-policy/). The plugin’s own features are the
   same in both modes.

Every feature in this plugin is free and fully functional without any purchase. 
Calendar sync, booking, CRM, reminders, messaging and all other features work using
the free “Bring your own app” mode. The optional J6 Connect key does not unlock 
any plugin feature — it only pays for access to J6 Venture’s external one-click 
sign-in service (which brokers OAuth on J6’s own servers so you don’t have to create
your own Google Cloud or Azure app). You never need it to use the plugin.

#### Privacy

 * Integrates with the WordPress personal-data export and erase tools.
 * Honeypot, rate limiting and optional email verification on the public booking
   form.
 * An optional “Powered by J6 Venture” credit is available for the booking page 
   and emails. It is OFF by default and appears only if you turn it on in Settings
   Page appearance.

### External services

This plugin connects to the third-party services below. Each one is used only when
you turn on or configure the feature that needs it. No usage data or tracking is
sent to J6 Venture.

#### J6 Connect broker (J6 Venture)

The J6 Connect broker (at connect.j6venture.com) is used only if you choose “One-
click Connect” for calendars, or click “Connect Slack” in one step. It is never 
contacted in “Bring your own app” mode unless you use one-click Slack.
 * When a
host connects or reconnects a calendar, the plugin sends your site address, the 
host’s display name, a one-way hash identifying the host connection, a random verification
code, and your J6 Connect key if you entered one. The broker completes the Google
or Microsoft sign-in and hands the tokens back to your site. It does not store calendar
tokens. * When an access token expires, the plugin sends the host’s refresh token
to the broker to get a new access token. The refresh token is not stored by the 
broker. * When you view the Team & Calendars screen, the plugin checks the broker’s
status and your key’s seat count (cached for 5 minutes). When a host is disconnected
or removed, it tells the broker to free that seat. Terms: https://j6venture.com/
terms — Privacy: https://j6venture.com/calendar-by-j6venture/privacy-policy — Refunds:
https://j6venture.com/refund-policy/

#### Google Calendar and Google sign-in (Google)

Used when a host connects a Google account. The plugin exchanges sign-in codes and
refreshes tokens (oauth2.googleapis.com), reads the host’s name, email and photo(
openidconnect.googleapis.com), checks free/busy times, and creates, updates and 
deletes calendar events with a Google Meet link (www.googleapis.com). Invitee name,
email, meeting time and any notes are included in the calendar event.
 Terms: https://
policies.google.com/terms — Privacy: https://policies.google.com/privacy

#### Microsoft Outlook calendar and sign-in (Microsoft)

Used when a host connects a Microsoft account. The plugin signs in and refreshes
tokens (login.microsoftonline.com), reads the host’s profile and free/busy times,
and creates, updates and deletes calendar events with an optional Teams link (graph.
microsoft.com). Invitee name, email, meeting time and notes are included in the 
event.
 Terms: https://www.microsoft.com/servicesagreement — Privacy: https://privacy.
microsoft.com/privacystatement

#### Periskope (WhatsApp)

Used only if you connect Periskope under Messages. The plugin sends the recipient’s
phone number and message text (and any attachment link) to send WhatsApp messages,
and reads a contact’s recent WhatsApp conversation by phone number to show it on
the contact card (api.periskope.app).
 Terms: https://periskope.app/terms — Privacy:
https://periskope.app/privacy

#### WhatsApp Business Cloud API (Meta)

Used only if you connect the official WhatsApp API under Messages. The plugin sends
the recipient’s phone number and message or template content to graph.facebook.com.

Terms: https://www.whatsapp.com/legal/business-terms — Privacy: https://www.whatsapp.
com/legal/privacy-policy

#### Email providers (Resend, SendGrid, Mailchimp Transactional, Amazon SES, or your SMTP server)

Used only if you choose one under Settings  How email is sent. Each booking, reminder
or CRM email (recipient, subject and message) is sent through the provider you pick:
api.resend.com, api.sendgrid.com, mandrillapp.com, an Amazon SES SMTP endpoint (
for example email-smtp.us-east-1.amazonaws.com), or the SMTP host you enter.
 Resend—
Terms: https://resend.com/legal/terms-of-service — Privacy: https://resend.com/legal/
privacy-policy SendGrid — Terms: https://www.twilio.com/en-us/legal/tos — Privacy:
https://www.twilio.com/en-us/legal/privacy Mailchimp Transactional — Terms: https://
mailchimp.com/legal/terms/ — Privacy: https://www.intuit.com/privacy/statement/ 
Amazon SES — Terms: https://aws.amazon.com/service-terms/ — Privacy: https://aws.
amazon.com/privacy/

#### Slack and Microsoft Teams

Used only if you add a Slack or Teams channel under Integrations or in a CRM automation.
The plugin posts a short booking or contact notification (name, email, meeting time)
to the incoming-webhook address you provide (hooks.slack.com, or your Teams/Power
Automate webhook).
 Slack — Terms: https://slack.com/terms-of-service — Privacy:
https://slack.com/trust/privacy/privacy-policy Microsoft — Terms: https://www.microsoft.
com/servicesagreement — Privacy: https://privacy.microsoft.com/privacystatement

#### Webhooks you add (for example Zapier or Make)

Used only if you add a webhook endpoint. Booking and contact event data (such as
name, email, phone, meeting time and answers) is sent to the address you enter. 
The terms and privacy policy of the service you choose apply.

#### Google Tag Manager, Google Ads and Meta Pixel

Used only if you enter a Tag Manager ID, Google Ads ID or Meta Pixel ID under Settings
Conversions & tracking. The matching script is then loaded on the public booking
page, and a conversion event is sent when a booking completes (www.googletagmanager.
com, connect.facebook.net, and www.facebook.com for the Pixel’s no-JavaScript fallback).

Google — Terms: https://policies.google.com/terms — Privacy: https://policies.google.
com/privacy Meta — Terms: https://www.facebook.com/legal/terms — Privacy: https://
www.facebook.com/privacy/policy/

#### Host profile photos

When building a link-preview image for a host’s booking page, the plugin downloads
that host’s profile photo from the address their Google or Microsoft account provided(
for example lh3.googleusercontent.com). Nothing about the visitor is sent.

## Blocks

This plugin provides 1 block.

 *   Booking calendar

## Installation

 1. Install from Plugins  Add New, or upload the ZIP, then activate it.
 2. Go to **Calendar & CRM  Team & Calendars** and choose how hosts connect their calendars:
    bring your own app (free, guided wizard) or one-click Connect.
 3. Connect each host’s Google or Outlook calendar.
 4. Set hours under **Availability**, create meetings under **Meeting Types**, and 
    share your booking page (`yoursite.com/calendar` by default).

If you bring your own Google app, publish its OAuth consent screen to **Production**.
In Testing mode Google expires the connection every 7 days.

#### Moving from “Calendar by J6 Venture”

Calendar and CRM by J6 is the new name for Calendar by J6 Venture and uses the same
data. Deactivate the old plugin, then activate this one. Your bookings, contacts
and settings carry over. Do not delete the old plugin while its “Remove all data
on uninstall” setting is on.

## FAQ

### Is the plugin free?

Yes. Every feature in the plugin works for free with “Bring your own app”. The optional
one-click Connect service, which saves you creating your own Google or Microsoft
app, is a paid service run by J6 Venture.

### Does my data go through J6 Venture’s servers?

Bookings, contacts, availability and calendar tokens are stored in your own database.
With “Bring your own app” nothing is sent to J6 Venture. With one-click Connect,
only the sign-in and token-refresh steps pass through J6’s broker, which does not
store tokens. See “External services” for details.

### Where can I get help?

Guides and answers are in the Help & Knowledge Base at https://j6venture.com/calendar-
by-j6venture/help/. For questions, use this plugin’s support forum on WordPress.
org, or https://j6venture.com/calendar-by-j6venture/support/.

### Which Google permissions does it request?

Calendar events and free/busy, plus basic profile (name, email, photo). It never
asks for Gmail or other scopes.

### Do I need WhatsApp to use it?

No. WhatsApp is optional. Booking, email reminders and the CRM work without it.

### What happens if a host isn’t connected to a calendar?

The booking is still saved and the invitee is emailed. The calendar event is created
once that host connects.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Calendar and CRM by J6” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ get2jhavikas ](https://profiles.wordpress.org/get2jhavikas/)

[Translate “Calendar and CRM by J6” into your language.](https://translate.wordpress.org/projects/wp-plugins/j6-calendar-and-crm)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/j6-calendar-and-crm/),
check out the [SVN repository](https://plugins.svn.wordpress.org/j6-calendar-and-crm/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/j6-calendar-and-crm/)
by [RSS](https://plugins.trac.wordpress.org/log/j6-calendar-and-crm/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.1.29

 * The sign-in window now stays open a few seconds longer when a connection can’t
   be completed, so the reason is easy to read before it closes.

#### 2.1.28

 * Fixed the sign-in window sometimes showing the connection message with “+” signs
   where spaces should be (e.g. “One-click+Connect+is+a+paid…”). The reason now 
   reads as normal text.

#### 2.1.27

 * Clearer one-click Connect errors: if a connection can’t be completed — for example
   when a J6 Connect key is needed — the reason is now shown in plain language on
   the Team & Calendars screen (and in the sign-in window), instead of a generic“
   couldn’t finish connecting”. The screen points you straight to activating a key
   or switching to the free “bring your own app” method.

#### 2.1.26

 * Plugin review fixes: removed the Google Tag Manager container option (the booking
   page now supports only specific first-party conversion tags — a Google Ads conversion
   and a Meta Pixel — each firing a fixed set of events defined in the plugin, with
   no tag-manager container or user-supplied script). Aligned the text domain to
   the plugin slug. Hardened input handling on the client-IP read used for rate 
   limiting. No changes to your existing bookings, contacts or settings.

#### 2.1.25

 * Messaging Automation now has a bulk CSV import: create many WhatsApp, SMS and
   email-reminder messages in one upload. Every row is checked before anything is
   saved — an invalid channel, an unrecognised “when”, a bad reminder time, or a
   mistyped {variable} is flagged with a plain-language fix (e.g. “{customer_name}
   isn’t a valid variable — did you mean {invitee_name}?”), and messages that already
   exist are skipped so re-uploading is safe. Includes a downloadable CSV template
   and a ready-made ChatGPT / Claude prompt that writes the file for you from a 
   plain-English description.

#### 2.1.24

 * Security hardening from a full penetration-style audit: the email-verification
   step no longer lets an unauthenticated visitor probe whether a given email is
   an existing customer (the anti-abuse rate limit now applies before that check),
   and the host magic-link login now correctly enforces its hourly rate limit so
   a known host address can’t be flooded with login emails. No functional change
   for normal use.

#### 2.1.23

 * Security: saved third-party keys and secrets (SMTP password, payment webhook 
   secrets, WhatsApp/Periskope tokens, Google/Microsoft client secrets) are now 
   encrypted at rest in the database, with the encryption key derived from your 
   site’s own WordPress security salts. Existing saved secrets keep working and 
   are re-encrypted the next time you save that field. No configuration needed.

#### 2.1.22

 * Faster loads and a fix for stale screens: the contacts list now loads its records
   and its settings in parallel (with the settings cached for a few minutes), so
   the CRM paints almost instantly on repeat visits, and page changes/sorts fetch
   only the rows they need. Admin assets are now cache-busted automatically on every
   change, so new versions show up without a hard refresh. Added database indexes
   behind the contacts list for faster sorting and filtering on larger lists, and
   hardened outbound webhook/integration URLs against internal-network requests.

#### 2.1.21

 * Smoother WhatsApp conversations: a background refresh now updates just the message
   thread in place instead of rebuilding the whole record, and opening a contact/
   switching tabs / saving a field no longer re-renders the contacts table hidden
   behind the open record. Long threads and quick tab-switching feel noticeably 
   snappier.

#### 2.1.20

 * Faster contact record: it now opens instantly from data already on screen (no
   loading spinner), and editing a field, saving a note, or deleting a contact no
   longer re-downloads the whole list — the change is applied in place. Sending 
   several WhatsApp messages quickly no longer stacks up background refreshes.
 * Faster server: contact list, CSV export and the bookings API no longer make a
   separate database lookup per row for owner/host names (they’re cached per request),
   and settings are merged once per request instead of repeatedly.
 * Cleaner Profile: the edit (pencil) icon now appears only when you hover a card,
   instead of sitting on every card — the whole card is still click-to-edit.

#### 2.1.19

 * The Send button on a WhatsApp/email message now stays disabled through the whole
   send (until the server replies) and is greyed whenever the box is empty. After
   a message sends, the composer clears and Send greys out — so a quick second click
   can’t fire a duplicate. It re-enables as soon as you type again.

#### 2.1.18

 * Opening a contact no longer “jumps” — the full-page record now fades in cleanly
   instead of sliding/scaling.
 * Fields & stages now warns you if you close it with unsaved changes, so adding
   owners, stages or fields and then clicking Cancel/× (or outside the box) can’t
   silently lose your edits.

#### 2.1.17

 * You can now add lead Owners who don’t need a calendar or booking page — closers,
   setters, back-office team. Add them under Fields & stages  Owners (name, optional
   email), and they appear everywhere you assign a lead owner: the contact record,
   the add-contact form, the owner filter, and CSV import (owners in your file match
   these people by name or email too). Your booking hosts are still owners automatically.

#### 2.1.16

 * Deleting a pipeline stage that still has contacts now asks where those contacts
   should go — move them to another stage, or clear their stage — instead of silently
   stranding them on a stage that no longer exists. (Renaming a stage already moves
   its contacts automatically.)

#### 2.1.15

 * Contact record: no more “jump”. Opening, switching tabs, saving a field, or a
   background WhatsApp refresh no longer replays the modal’s entrance animation —
   only the pane content crossfades, and only when you actually change tabs. Each
   tab (Profile, Activity, WhatsApp, Email, the summary rail) keeps its scroll position
   across saves and refreshes.
 * The WhatsApp conversation now opens at the newest message (bottom) and stays 
   there as it refreshes, and the WhatsApp tab is disabled (greyed) when WhatsApp
   isn’t connected.
 * Sending an email or WhatsApp message now shows a spinner and disables the send
   button until it finishes, so a slow send can’t be clicked several times.
 * Restored the full Contacts pager — First « ‹ 1 2 3 … › » Last, with “Viewing 
   X–Y of Z” — always visible with the total count.

#### 2.1.14

 * CSV import stage matching now recognises common sales synonyms — “Closed Won”/”
   Deal Won” suggests your existing “Won” stage, “Closed Lost”/”Dead” suggests “
   Lost”, “New Lead”/”Fresh”/”Open” suggests “New” — so imports stop creating near-
   duplicate stages. Suggested matches are clearly labelled and you can still change
   or add any of them.

#### 2.1.13

 * CSV import is smarter and safer: a live preview on the review step shows how 
   many contacts will be added, updated or left out before you commit; you can now
   map an Owner column (matched to your team by name or email) or assign all imported
   contacts to one team member; and stage matching now covers every stage column,
   collapses spacing/case variants, and no longer drops very long stage names.
 * CSV import now imports a row on whichever of email/phone is valid instead of 
   rejecting the whole row over one bad cell; accepts .tsv and tab-separated .txt
   files; lists which columns won’t be imported; shows several sample values per
   column; and defaults to the safest “merge” behaviour for existing contacts.
 * Import wizard polish: the Stages step is now a real step in the progress bar,
   tighter copy throughout, and smoother spacing, motion and dark-mode styling.

#### 2.1.12

 * CSV import now has a Stages step: when your file’s stage values differ from your
   pipeline (e.g. “Closed Won” vs your “Won”), match each one to an existing stage,
   add it as new, or leave it empty — so importing never creates duplicate stages.

#### 2.1.11

 * The contact name in the record header now uses the standard interface typeface(
   IBM Plex Sans).

#### 2.1.10

 * The contact record now has a right-hand panel: quick actions (Call, WhatsApp,
   Email) and an at-a-glance summary (stage, owner, last touch, bookings, when added)
   that stays with you on the Profile and Activity tabs. WhatsApp and Email stay
   full-width for messaging.

#### 2.1.9

 * Polished the contact record to the J6 design system: the name is now set in the
   brand serif, the active tab and the primary Save carry the lime accent, and editing
   a field shows a lime highlight. Buttons are pill-shaped and the edit affordance
   is clearer.
 * Bookings now shows active vs cancelled honestly (e.g. “None active · 1 cancelled”)
   instead of counting cancelled meetings. Clearer wording throughout, and the contact
   modal now animates in with a subtle save confirmation.
 * Insights toolbar (date range, meeting-type filter, Export CSV) now sits on one
   line with the filters and Export on the right.

#### 2.1.8

 * The contact record is now a full-page view that opens on Profile, and every field
   edits in place — click a value (or its pencil) to change it. Dropdowns, dates
   and yes/no fields save the moment you choose; text fields have a Save button;
   tags and the assignee edit inline too.
 * No more separate “Edit contact” step or ⋯ menu. Delete now sits in the top-right,
   set apart from Close and confirmed before anything is removed.
 * Internal notes save automatically — no Save button. The Activity timeline is 
   left-aligned for easier scanning.

#### 2.1.7

 * Rebuilt the contact view as full-width tabs — Profile, Activity, WhatsApp, Email
   and Notes — so each does one job. Profile shows the whole record cleanly; contact
   Edit/Delete live there.
 * WhatsApp and Email now work like a real inbox: a full-height conversation and
   a compact compose bar with Send inside it (press Enter to send), a growing box,
   emoji, templates, insert-field and file attachments that send as real media.
 * Editing is now a full-screen form instead of a narrow pop-up — or edit a field
   in place: click any value on the Profile tab (or its pencil) to change it and
   save without leaving the record.

#### 2.1.6

 * Redesigned the contact detail view: it now opens on an Activity timeline (created,
   stage, emails, bookings) instead of a large empty WhatsApp panel. WhatsApp, Email
   and Note are tabs — WhatsApp looks like WhatsApp and each channel has its own
   composer with templates and formatting.
 * Person custom fields are now a searchable dropdown with initials avatars, so 
   you pick a team member instead of retyping a name.
 * Contact detail values wrap fully instead of being cut off.
 * All admin screens use the full window width consistently; forms and data-dense
   cards keep a comfortable reading width on large monitors.

#### 2.1.5

 * Every admin screen now uses the full window width, like Contacts — so moving 
   between screens no longer shifts the layout. Forms keep a comfortable reading
   width so fields don’t stretch on wide monitors.

#### 2.1.4

 * Contacts table: a horizontal scrollbar now sits on top of the table (so you don’t
   have to scroll to the bottom to find it), and you can drag column edges to resize
   them — your widths are remembered.
 * Import is more precise: impossible dates (like Feb 31) are skipped instead of
   stored, and a stage in your file matches an existing one regardless of capitalisation
   or extra spaces.
 * Adding a field or stage now scrolls to and focuses the new row.

#### 2.1.3

 * Import now creates any pipeline stages your file uses (so a “Stage” column like
   Lost / Won / Fresh is kept, not dropped).
 * Import reads human date formats — “Monday, August 17, 2026”, 17/08/2026, Aug 
   17 2026 — into date fields correctly.
 * New custom field type: Person (for an assignee, owner or closer), with your team’s
   names suggested as you type.
 * Large imports are more reliable: smaller batches, an automatic retry, and if 
   one batch still fails the rest keep going (the failed rows are listed in the 
   rejects file to re-import).

#### 2.1.2

 * The contact card now opens large, so the details and the WhatsApp conversation
   are easy to read.
 * Fixed the contact’s name being slightly clipped at the top of the card.

#### 2.1.1

 * Contacts now uses the full screen width, and the table scrolls sideways when 
   you have many columns instead of squeezing them together.
 * Fixed dialogs jumping back to the top when you add a field or stage, or change
   an option — they now keep your scroll position.
 * Import: removed a stray horizontal scrollbar on the “Map columns” step.

#### 2.1.0

 * New: import contacts from a CSV. A guided wizard walks you through Upload  Map
   columns  Review: it auto-matches your columns to Name, Email, Phone, Stage, Tags,
   Notes and any custom fields, and you can adjust every mapping.
 * You choose how existing contacts are handled — Update (overwrite the mapped fields),
   Merge (only fill in blanks), or Skip.
 * Rows with no email or phone, or an invalid email/phone, are skipped and downloaded
   as a CSV with a reason for each, so you can fix and re-import. Empty optional
   fields import fine. Automations never fire on import.

#### 2.0.6

 * Automation dialog: the trigger options are now equal height and the dialog is
   wider, so it’s easier to read and set up.
 * Spacing pass across every dialog — the optional condition, reminder channels,
   session roster and other blocks now sit at even, uncramped gaps.

#### 2.0.5

 * CRM automations: new trigger — run an automation when a contact’s custom field
   value changes to a value you choose (for example, when “Plan” becomes “Premium”).
 * CRM automation editor redesigned with clear Trigger and Action tabs, and only
   the selected trigger’s inputs are shown — easier to set up.
 * Spacing polish across the admin dialogs: clearer gaps between options, tighter
   confirm dialogs, and better alignment on small screens.

#### 2.0.4

 * Contacts: the empty-state “Add contact” button is now the primary (green) button
   with its icon and label on one line, and the duplicate header button is hidden
   while it shows — one clear call to action on a fresh, empty list.

#### 2.0.3

 * CRM automations can now run only when a chosen contact custom field holds a chosen
   value (for example, only when “Plan” is “Premium”). Dropdown and date custom 
   fields are supported.
 * Booking message automations can now send only when a booking answered a specific
   multiple-choice question a certain way (for example, only when “What plan?” is“
   Premium”). Applies to confirmation, reminder, cancellation and reschedule messages,
   and can be scoped to one event type.
 * Contacts: the “Columns” menu no longer gets clipped on short lists and scrolls
   when you have many custom-field columns.

#### 2.0.2

 * The optional “Powered by J6 Venture” credit is now off by default; enable it 
   in Settings  Page appearance if you want it.
 * Documentation: clarified that every feature is free and fully functional in “
   Bring your own app” mode, and that the optional J6 Connect key only pays for 
   J6 Venture’s external one-click sign-in service. Expanded the external-services
   list and corrected outdated links.

#### 2.0.1

 * One-click Connect now runs on the branded J6 domain connect.j6venture.com instead
   of the temporary worker address.
 * The “Powered by J6 Venture” credit remains a setting you can turn off in Settings
   Page appearance.

#### 2.0.0

 * Renamed to **Calendar and CRM by J6**, now published on WordPress.org.
 * The “Powered by J6 Venture” credit on the booking page, emails and calendar events
   is a setting you can turn off in Settings  Page appearance. Turn it off and emails
   show your own logo or site name at the top instead.
 * The team and host screens are always available. One-click Connect remains an 
   optional paid service, and the service itself decides whether a connection is
   allowed.
 * Fonts are now bundled with the plugin instead of loaded from Google Fonts, so
   the booking page no longer contacts a font CDN.
 * Booking-page scripts and styles, including optional tracking tags, are loaded
   through the standard WordPress script and style functions.
 * Database queries use prepared identifiers throughout, and file handling uses 
   the WordPress upload and filesystem APIs.

#### 1.90.0

 * Booking page: an on-brand language switcher, and selected dates and times follow
   your button colour.

#### 1.84.0 – 1.89.0

 * New built-in CRM: contacts, pipeline stages, custom fields, lead owner, saved
   columns, a two-pane contact card with the WhatsApp conversation, one-time sends,
   and CRM automations.

#### 1.0.0 – 1.83.0

 * Booking pages, multi-host Google and Outlook sync, reminders, WhatsApp messaging,
   insights, embeds, payment links, recurring and group events, and five languages.

## Meta

 *  Version **2.1.29**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [appointments](https://wordpress.org/plugins/tags/appointments/)[booking](https://wordpress.org/plugins/tags/booking/)
   [crm](https://wordpress.org/plugins/tags/crm/)[scheduling](https://wordpress.org/plugins/tags/scheduling/)
   [whatsapp](https://wordpress.org/plugins/tags/whatsapp/)
 *  [Advanced View](https://wordpress.org/plugins/j6-calendar-and-crm/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/j6-calendar-and-crm/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/j6-calendar-and-crm/reviews/)

## Contributors

 *   [ get2jhavikas ](https://profiles.wordpress.org/get2jhavikas/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/j6-calendar-and-crm/)