Description
CalendarDrop takes the busywork out of building an events calendar. Upload a flyer, PDF, or Word document, or connect an inbound-email service to forward email text through the authenticated webhook. CalendarDrop reads the date, time, venue, and description and writes them up as a draft event for you to review.
It uses AI through your own provider key (Bring Your Own Key). You pick the provider, you enter your key, and CalendarDrop talks to that provider directly. There is no CalendarDrop account, no subscription, and no feature gating. The free plugin is fully functional and unrestricted.
What it does
- Reads event details from flyer images, PDFs, Microsoft Word (.docx) documents, and email text received through the authenticated webhook.
- Creates events as drafts so you always review them before anything is published. Nothing goes live on its own.
- Works with The Events Calendar when it is active: your imports land as native events you can open and edit there. The Events Calendar is a separate plugin by StellarWP and is not required.
- Works independently: if you do not use an event plugin, CalendarDrop creates standard WordPress draft posts carrying the event details, so it runs on any WordPress site.
- Forward emails to import: use an inbound webhook service (like Mailgun or Postmark) to route forwarded emails to your site, and CalendarDrop reads them and drafts the event automatically.
- A customizable public or private dropzone (off by default) that lets people you trust submit a flyer without a WordPress login, matched to your site with custom colors, fonts, and a logo.
- Per-upload categories: assign a category to an upload and every event from it is filed under that category, so you can drive separate, filtered calendar views.
- Duplicate handling: ignore a match, flag it as a new draft for review, or merge details into an existing draft. Merge mode leaves published and other non-draft events unchanged and reports that the duplicate needs review.
- Pulls a featured image from the flyer when one is available.
- A built-in AI diagnostic assistant that helps you check your connection and troubleshoot setup in plain language.
Choose your AI provider (Bring Your Own Key)
- OpenAI and OpenAI-compatible chat endpoints (including Azure OpenAI and local/self-hosted endpoints)
- Google Gemini (native API)
- Anthropic Claude (native API)
The site administrator chooses the provider, enters their own API key, selects a model, and clicks Test Connection. Keys are stored in your site’s own WordPress options database, on your own server.
Third-Party Services / Privacy
CalendarDrop relies on an AI provider to read your events, and that provider is one you choose and configure with your own API key. Nothing is contacted until an administrator saves a provider key and runs an action (a test, an upload, an email/webhook import, or the diagnostic assistant). There is no background activity.
When you run one of those actions, CalendarDrop sends the content being processed to the provider you configured. That content can include event text, flyer image data, extracted PDF and Word document text, and diagnostic prompts. Your API key is stored only in your site’s own WordPress database and is never sent to Penner Strategy. You are responsible for reviewing the provider’s Terms of Use and Privacy Policy before using the plugin.
Supported providers and their terms:
- OpenAI — https://openai.com — Terms: https://openai.com/policies/terms-of-use — Privacy: https://openai.com/policies/privacy-policy
- Google Gemini — https://ai.google.dev — Terms: https://ai.google.dev/gemini-api/terms — Privacy: https://policies.google.com/privacy
- Anthropic Claude — https://www.anthropic.com — Terms: https://www.anthropic.com/legal/consumer-terms — Privacy: https://www.anthropic.com/legal/privacy
Google Places (optional). If you supply your own Google Maps API key and an event has a venue name, CalendarDrop sends that venue/location name to the Google Places API to look up address details. Nothing is sent to Google unless you have configured a Google Maps key. Google Terms: https://cloud.google.com/maps-platform/terms — Privacy: https://policies.google.com/privacy
Installation
- Upload the
calendardropfolder to/wp-content/plugins/, or upload the zip directly from Plugins > Add New > Upload Plugin. - Activate CalendarDrop through the Plugins menu.
- Open CalendarDrop in the WordPress admin menu.
- Choose your AI provider, enter your API key, pick a model, and click Test Connection.
- Optional: install and activate The Events Calendar so imports become native calendar events. Without it, CalendarDrop creates standard draft posts instead.
FAQ
-
Do I need an AI provider API key?
-
Yes. CalendarDrop reads your events with AI through your own provider key. Enter your key, pick a model, and click Test Connection. There is no CalendarDrop account or subscription.
-
Which AI providers are supported?
-
OpenAI (and OpenAI-compatible endpoints such as Azure OpenAI and local/self-hosted endpoints), Google Gemini, and Anthropic Claude. You choose one, supply your own key, and select a model.
-
Does it require The Events Calendar?
-
No. CalendarDrop works best with The Events Calendar active, where imports become native events. If that plugin is not installed, CalendarDrop falls back to creating standard WordPress draft posts that carry the event details, so it runs on any site.
-
Are events published automatically?
-
No. Everything CalendarDrop creates is a draft. You review and publish each event yourself. Email and webhook imports are forced to draft status as well.
-
How does the public dropzone work?
-
CalendarDrop can expose a public dropzone where someone can submit a flyer without logging in. It is off by default. When you enable it, the link is protected by a secret, uploads are rate-limited and validated server-side, and every submission still becomes a draft for your review.
-
How do I set up email or webhook forwarding?
-
CalendarDrop provides a secret-authenticated REST webhook URL on the Advanced Integrations tab. Point your inbound-email service at that URL (for example Postmark, Mailgun, or a SendGrid-style inbound parse) so forwarded emails POST to it. CalendarDrop reads the email body, drafts the event, and logs the result. Email forwarding requires a separately configured inbound-email service, which may charge its own fees. CalendarDrop does not provide an email inbox or a paste-text import screen. File uploads do not require an inbound-email service.
-
How do categories work?
-
You can assign a category to an upload. Every event imported from that upload is automatically filed under that category, which lets you build separate, filtered calendar views.
-
Is it really free?
-
Yes. There is no nag screen, no feature gating, and no subscription. You pay only for your own AI provider usage, billed by the provider you choose.
-
Can you help me set it up?
-
Penner Strategy offers optional paid setup and ongoing CalendarDrop support. Email josh@pennerstrategy.com with your website address and the calendar plugin you use to discuss scope. Paid help is optional; all features in this plugin remain available without a CalendarDrop subscription.
-
Where is my API key stored, and is it sent to you?
-
Your key lives in your site’s own WordPress options database. It is sent only to the AI provider you configure when making requests, and never to Penner Strategy.
Avis
Il n’y a aucun avis sur cette extension.
Contributeurs & développeurs
« CalendarDrop » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « CalendarDrop » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Historique des changements
1.2.4
- Require editorial review for all imports, including sites with an older automatic-publish setting.
- Keep published and other non-draft events unchanged when a duplicate import requests a merge.
- Clarify supported imports and duplicate-review behavior.
1.2.3
- Correct the description and upload error messages to match the supported file-upload and authenticated email/webhook import paths.
- Clarify the separate inbound-email service requirement and the absence of a paste-text import screen.
1.2.2
- Prevent calendar-property injection by escaping all newline forms in exported event text at output.
1.2.1
- Prevent public calendar exports from disclosing draft, private, pending, scheduled, trashed, or password-protected event content.
- Reject malformed export IDs and verify post visibility before reading event data.
- Update compatibility metadata after local WordPress 7.1 activation and calendar-export regression checks.
1.2.0
- Enqueue all scripts/styles per WordPress.org guidelines.
1.1.9
- Removed the website-import reader so the plugin only processes flyers, PDFs, Word documents, and forwarded email/webhook text.
1.1.8
- Events now pull a featured image from the flyer (image files and PDF page 1).
- Added the built-in AI diagnostic assistant with formatted, plain-language responses.
- Added per-upload categories for filtered calendar views.
- All assets are now bundled locally (no external CDN or font requests); public credit attribution defaults to off.
- Hardened the public upload and email/webhook paths (rate limiting, server-side validation, secret authentication).