{"id":298841,"date":"2026-05-29T07:02:17","date_gmt":"2026-05-29T07:02:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/annovisio\/"},"modified":"2026-06-04T15:59:56","modified_gmt":"2026-06-04T15:59:56","slug":"annovisio","status":"publish","type":"plugin","link":"https:\/\/es.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-06-04 15:59:56","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":49,"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-06-04 15:59:56"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3558315,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3558315,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3561263,"resolution":"1","location":"assets","locale":"","width":1822,"height":1005},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3561263,"resolution":"2","location":"assets","locale":"","width":1693,"height":984},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3561263,"resolution":"3","location":"assets","locale":"","width":1920,"height":1080},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3561263,"resolution":"4","location":"assets","locale":"","width":1803,"height":989}},"screenshots":{"1":"Annual calendar view with imported Calendly events on the WordPress frontend.","2":"Multi-day events displayed clearly across the year calendar.","3":"AnnoVisio settings page with Calendly connection and sync options.","4":"Event click opens the Calendly booking flow directly from the calendar."}},"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:\/\/ps.w.org\/annovisio\/assets\/icon-128x128.png?rev=3558315","icon_2x":"https:\/\/ps.w.org\/annovisio\/assets\/icon-256x256.png?rev=3558315","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/annovisio\/assets\/screenshot-1.png?rev=3561263","caption":"Annual calendar view with imported Calendly events on the WordPress frontend."},{"src":"https:\/\/ps.w.org\/annovisio\/assets\/screenshot-2.png?rev=3561263","caption":"Multi-day events displayed clearly across the year calendar."},{"src":"https:\/\/ps.w.org\/annovisio\/assets\/screenshot-3.png?rev=3561263","caption":"AnnoVisio settings page with Calendly connection and sync options."},{"src":"https:\/\/ps.w.org\/annovisio\/assets\/screenshot-4.png?rev=3561263","caption":"Event click opens the Calendly booking flow directly from the calendar."}],"raw_content":"<!--section=description-->\n<p>AnnoVisio turns Calendly into a clear annual event calendar for WordPress.<\/p>\n\n<p>Calendly is excellent for booking, but not for showing many events clearly across a whole year. AnnoVisio solves this by importing your Calendly event types and displaying them in a compact annual calendar on your WordPress site.<\/p>\n\n<p>Ideal for:<\/p>\n\n<ul>\n<li>Training providers<\/li>\n<li>Retreat organizers<\/li>\n<li>Workshop and seminar hosts<\/li>\n<li>Schools and clubs<\/li>\n<li>Venues and event spaces<\/li>\n<\/ul>\n\n<p>Key features:<\/p>\n\n<ul>\n<li>Import and sync Calendly event types<\/li>\n<li>Display events in a clear annual calendar via shortcode<\/li>\n<li>Support multi-day events<\/li>\n<li>Let visitors open the Calendly booking flow directly from the calendar<\/li>\n<li>Run manual syncs or optional automatic synchronization via WP-Cron<\/li>\n<\/ul>\n\n<p>AnnoVisio is built for site owners who want to present bookable events in a much clearer way than with a standard Calendly embed.<\/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. AnnoVisio is built specifically for Calendly and requires a Calendly Personal Access Token to import and synchronize event types.<\/p><\/dd>\n<dt id=\"does%20annovisio%20support%20multi-day%20events%3F\"><h3>Does AnnoVisio support multi-day events?<\/h3><\/dt>\n<dd><p>Yes. AnnoVisio supports multi-day events and displays them clearly in the annual calendar.<\/p><\/dd>\n<dt id=\"how%20do%20i%20display%20the%20calendar%20on%20my%20site%3F\"><h3>How do I display the calendar on my site?<\/h3><\/dt>\n<dd><p>After configuring the plugin and running a sync, add the shortcode <code>[annovisio]<\/code> to any page or post where you want the calendar to appear.<\/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 pages where the <code>[annovisio]<\/code> shortcode is used, the plugin loads Calendly's official widget script and stylesheet so the booking popup can be displayed. It also performs a server-side availability check against the Calendly API when a visitor clicks an event 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":"Turn Calendly into a clear annual event calendar for WordPress \u2014 including multi-day events and direct booking links.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298841"}],"author":[{"embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ralf_st"}],"wp:attachment":[{"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298841"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298841"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298841"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298841"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298841"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}