Ynot Leads Publisher
Ynot Leads Publisher
Description
Ynot Leads Publisher sends submissions from supported WordPress forms to your Ynot LMS endpoint.
Supported form plugins:
- Contact Form 7
- Gravity Forms
- WPForms
- Elementor Forms
Key features:
- AJAX metadata refresh with no page reload.
- Per-form field mapping with hardcoded values where needed.
- Lead source, location, program, and state mapping support.
- Dynamic custom API field mapping rows.
- Recent logs for posted, rejected, error, and skipped submissions.
External services
This plugin connects to the Ynot LMS API to submit lead data and retrieve metadata (locations, programs, lead sources, states, and education levels).
What data is sent and when
- Lead submissions: When a visitor submits a form on your site (Contact Form 7, Gravity Forms, WPForms, or Elementor Forms), the plugin sends the mapped form field values (e.g. name, email, phone, address) to your Ynot LMS leads endpoint via an HTTP POST request.
- Metadata refresh: The plugin fetches reference data (campus locations, programs, lead sources, states, education levels, and custom field definitions) from the Ynot LMS API to populate the mapping dropdowns. This happens when an administrator clicks “Load My Data” in the plugin settings, on an hourly scheduled task, and when an administrator opens the plugin settings screen if the stored data is more than two hours old. The scheduled and automatic requests only run once an Access ID and Access Key have been saved; no request is made before the plugin is configured. These requests send only your Access ID and Access Key — no visitor or form data.
Service details
- Service: Ynot LMS API
- Endpoints used:
https://api-{workspace}.ynotlms.com/leads.json(lead submission), plus/locations.json,/programs.json,/states.json,/lead_sources-basic.json,/level_of_educations.json, and/fields(metadata). - Authentication: Requests include an Access ID and Access Key configured by the site administrator.
- Terms of Use: https://ynotlms.com/terms
- Privacy Policy: https://ynotlms.com/privacy
No data is sent to any third-party service other than the Ynot LMS API configured by the administrator.
Installation
- Upload the
ynot-leads-publisherfolder to/wp-content/plugins/. - Activate the plugin in WordPress.
- Open
Ynot Leadsfrom the WordPress admin sidebar. - Enter your API Endpoint URL, Access ID, and Access Key.
- Click
Refresh Valuesto fetch metadata. - Select active forms and save.
- Map fields per form and submit a test entry.
Reviews
Changelog
1.9.1
- Fixed: when a field was set to take its value from a form field, a fixed value left on that same field could still override it. Lead Source was the usual casualty — the answer to “How did you first hear about us?” was mapped correctly but never used, with nothing on screen to explain why. The form field now wins, as the setting says it should.
- A fixed value is still used when the form field is missing from a submission, so a skipped question does not leave the field empty.
1.9.0
- Your campuses, programs and lead sources now reload on their own every hour, and again when you open the settings screen if they have gone stale. Anything added in Ynot LMS shows up without having to press Load My Data.
- A load that fails no longer discards the data you already had.
- Uninstalling now removes the stored data and the scheduled reload.
1.8.0
- First public release on WordPress.org.
1.7.3
- Fixed WordPress PHPCS compliance issues flagged by the Plugin Check tool.
1.7.2
- Fixed accepted leads being incorrectly logged as rejected when the API response echoes back submission fields at the root level.
1.7.1
- Bundled Select2 4.0.13 in assets/vendor/ — fixes broken “Add Extra Row” and “Add Custom Field Row” buttons on WordPress 6.9+ where the bundled select2 was removed.
- Removed hard select2 dependency from form detail JS to prevent silent load failures.
1.7.0
- Extracted all inline CSS to enqueued admin-style.css file.
- Extracted all inline JS to enqueued JS files (admin-settings.js, admin-forms-list.js, admin-form-detail.js).
- Added proper input sanitization with sanitize_text_field(), sanitize_key(), absint(), and wp_unslash() on all superglobals.
- Added proper output escaping with esc_html(), esc_attr(), wp_kses(), and wp_kses_post() on all dynamic outputs.
- Added External Services section to readme documenting Ynot LMS API usage, data sent, and privacy/terms links.
- Updated Contributors to match WordPress.org username.
1.6.9
- Added the current admin UI refresh and metadata improvements.
- Added lead source fetching and per-form lead source selection.
- Improved custom field mapping and recent log displays.
1.4.2
- Added layman-friendly custom API field mapping with dropdowns and static values.
1.4.0
- Simplified authentication and aligned mappings with the current API requirements.
1.3.0
- Added Elementor Forms support and metadata refresh improvements.
1.2.0
- Added active-form selection and per-form dropdown mapping.
1.1.1
- Added request payload values to debug logs with sensitive keys redacted.
1.1.0
- Added explicit required-field mapping inputs in plugin settings.
1.0.0
- Initial release.