{"id":298841,"date":"2026-05-29T07:02:17","date_gmt":"2026-05-29T07:02:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/annovisio\/"},"modified":"2026-05-29T07:02:00","modified_gmt":"2026-05-29T07:02:00","slug":"annovisio","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/annovisio\/","author":14209907,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Annovisio","header_author":"Annovisio","header_description":"Sync Calendly event types to WordPress and display them in a clean yearly calendar and implements support for multi-day events.","assets_banners_color":"","last_updated":"2026-05-29 07:02:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/annovisio.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"Ralf_St","date":"2026-05-29 07:02:00"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[416,182930,4745,264885,264884],"plugin_category":[40],"plugin_contributors":[264886],"plugin_business_model":[],"class_list":["post-298841","plugin","type-plugin","status-publish","hentry","plugin_tags-calendar","plugin_tags-calendly","plugin_tags-event-calendar","plugin_tags-multi-day-events","plugin_tags-yearly-calendar","plugin_category-calendar-and-events","plugin_contributors-ralf_st","plugin_committers-ralf_st"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/annovisio.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Annovisio connects a WordPress site with Calendly and displays imported event types in a clear yearly calendar.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Display Calendly event types in a yearly calendar via shortcode<\/li>\n<li>Support multi-day events<\/li>\n<li>Sync Calendly event types manually<\/li>\n<li>Optional automatic synchronization via WP-Cron<\/li>\n<li>Settings page in the WordPress admin area<\/li>\n<\/ul>\n\n<p>This plugin is designed for site owners who want to present bookable event formats in a compact annual calendar view.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin uses Calendly as an external service. Calendly is required to synchronize Calendly event types into WordPress, to check availability before opening a booking dialog, and to display Calendly's booking popup on frontend pages that use the <code>[annovisio]<\/code> shortcode.<\/p>\n\n<p>External services used:<\/p>\n\n<ul>\n<li>Calendly service: https:\/\/calendly.com<\/li>\n<li>Calendly API endpoint used by the plugin: https:\/\/api.calendly.com<\/li>\n<li>Calendly frontend widget assets loaded by the shortcode: https:\/\/calendly.com\/assets\/external\/widget.js and https:\/\/calendly.com\/assets\/external\/widget.css<\/li>\n<\/ul>\n\n<p>What is sent to Calendly and when:<\/p>\n\n<ul>\n<li>During manual synchronization and WP-Cron automatic synchronization, the plugin sends authenticated server-side GET requests to <code>https:\/\/api.calendly.com<\/code> using the Calendly Personal Access Token configured by the site administrator in the WordPress admin area.<\/li>\n<li>During synchronization, the plugin requests Calendly data from <code>\/users\/me<\/code> and <code>\/event_types<\/code>. For availability checks, the plugin requests <code>\/event_type_available_times<\/code>. Request parameters can include Calendly user URI, event type URI, <code>active<\/code>, <code>count<\/code>, start\/end time values, and Calendly pagination URLs returned by previous API responses.<\/li>\n<li>When a site visitor clicks an event rendered by the <code>[annovisio]<\/code> shortcode, the visitor's browser first calls this plugin's WordPress REST endpoint on the same WordPress site with the Calendly event type URI and either a selected date or a UTC slot start. The plugin then sends a server-side authenticated request to Calendly's <code>\/event_type_available_times<\/code> endpoint with the event type URI and the calculated start\/end time window.<\/li>\n<li>On frontend pages where the <code>[annovisio]<\/code> shortcode renders the calendar, the visitor's browser loads Calendly's widget JavaScript and CSS from <code>calendly.com<\/code> so Calendly's booking popup can be displayed. Interactions inside the Calendly booking popup are handled by Calendly.<\/li>\n<\/ul>\n\n<p>Calendly legal links:<\/p>\n\n<ul>\n<li>Terms: https:\/\/calendly.com\/legal\/customer-terms-conditions<\/li>\n<li>Privacy: https:\/\/calendly.com\/legal\/privacy-notice<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/annovisio\/<\/code> directory, or install the plugin through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Open <strong>Settings &gt; Annovisio<\/strong>.<\/li>\n<li>Enter your Calendly Personal Access Token and configure the plugin settings.<\/li>\n<li>Run a manual sync or enable automatic synchronization.<\/li>\n<li>Add the shortcode <code>[annovisio]<\/code> to a page or post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20calendly%3F\"><h3>Does this plugin require Calendly?<\/h3><\/dt>\n<dd><p>Yes. The plugin is built to work with Calendly event types and requires a Calendly Personal Access Token for synchronization.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20plugin%20without%20automatic%20sync%3F\"><h3>Can I use the plugin without automatic sync?<\/h3><\/dt>\n<dd><p>Yes. You can also use manual synchronization.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20load%20external%20resources%20on%20the%20frontend%3F\"><h3>Does the plugin load external resources on the frontend?<\/h3><\/dt>\n<dd><p>Yes. On frontend pages where the <code>[annovisio]<\/code> shortcode renders the calendar, the plugin loads Calendly's official widget script and stylesheet so the booking popup can be shown. The plugin also performs a server-side availability check against the Calendly API when a visitor clicks an appointment link.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Sync Calendly event types to WordPress and display them in a clean yearly calendar with support for multi-day events.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298841"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ralf_st"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298841"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298841"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298841"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298841"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298841"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}