{"id":331696,"date":"2026-07-01T12:02:48","date_gmt":"2026-07-01T12:02:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/agentsia-agents\/"},"modified":"2026-10-07T17:21:38","modified_gmt":"2026-10-07T17:21:38","slug":"agentsia-agents","status":"publish","type":"plugin","link":"https:\/\/mfe.wordpress.org\/plugins\/agentsia-agents\/","author":23522723,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.0.7","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Agentsia Agents","header_author":"Agentsia","header_description":"Easily add your Agentsia AI agents (web chatbot, appointment booking form, demo funnel) to your WordPress site. Shortcodes, Gutenberg blocks and global loading from the settings.","assets_banners_color":"ebf1f0","last_updated":"2026-10-07 17:21:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/agentsia.fr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":416,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"thomasservais","date":"2026-07-01 12:02:12","revision":3592638},"1.2.0":{"tag":"1.2.0","author":"thomasservais","date":"2026-07-09 19:22:45","revision":3601918},"1.3.0":{"tag":"1.3.0","author":"thomasservais","date":"2026-07-20 09:51:45","revision":3614508},"1.4.0":{"tag":"1.4.0","author":"thomasservais","date":"2026-10-06 16:14:16","revision":3731215},"1.5.0":{"tag":"1.5.0","author":"thomasservais","date":"2026-10-07 17:21:38","revision":3733066}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3592638,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3592638,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3592638,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3592638,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"agentsia\/chatbot":{"name":"agentsia\/chatbot","title":"Chatbot Agentsia"},"agentsia\/booking":{"name":"agentsia\/booking","title":"Rendez-vous Agentsia"},"agentsia\/demo-button":{"name":"agentsia\/demo-button","title":"Bouton d\u00e9mo Agentsia"},"agentsia\/derniers-articles":{"name":"agentsia\/derniers-articles","title":"Derniers articles"}},"tagged_versions":["1.1.0","1.2.0","1.3.0","1.4.0","1.5.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,269,2364,269724,337],"plugin_category":[40],"plugin_contributors":[269725],"plugin_business_model":[],"class_list":["post-331696","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-booking","plugin_tags-chatbot","plugin_tags-conversational-agent","plugin_tags-lead-generation","plugin_category-calendar-and-events","plugin_contributors-thomasservais","plugin_committers-thomasservais"],"banners":{"banner":"https:\/\/ps.w.org\/agentsia-agents\/assets\/banner-772x250.png?rev=3592638","banner_2x":"https:\/\/ps.w.org\/agentsia-agents\/assets\/banner-1544x500.png?rev=3592638","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/agentsia-agents\/assets\/icon-128x128.png?rev=3592638","icon_2x":"https:\/\/ps.w.org\/agentsia-agents\/assets\/icon-256x256.png?rev=3592638","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Agentsia Agents connects your WordPress site to your Agentsia application (app.agentsia.fr). In a few minutes you can:<\/p>\n\n<ul>\n<li>Display the Agentsia <strong>chatbot<\/strong> as a floating bubble across the whole site, as a modal, or full-page inside a post.<\/li>\n<li>Embed a public <strong>appointment booking form<\/strong> on any page.<\/li>\n<li>Add a <strong>call-to-action button<\/strong> that links to your demo funnel.<\/li>\n<li>Let your Agentsia <strong>SEO agent<\/strong> update the SEO title, meta description, noindex and canonical URL of your pages, in the fields of your SEO plugin (Yoast SEO, Rank Math, SEOPress, All in One SEO, The SEO Framework), fix the alternative text of their images, and edit one section of a page without rewriting it, including the text custom fields (ACF) of pages that keep their text there. Without any SEO plugin, Agentsia Agents prints these tags itself.<\/li>\n<\/ul>\n\n<p>Three integration methods are available: global settings, shortcodes and Gutenberg blocks.<\/p>\n\n<p>This plugin is a client for the external Agentsia service and requires an Agentsia account. See the \"External services\" section below for details about the data exchanged.<\/p>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[agentsia_chatbot]<\/code> \u2014 Full-page chatbot (configurable via attributes).<\/li>\n<li><code>[agentsia_chatbot mode=\"bubble\"]<\/code> \u2014 Force the floating bubble from a specific page.<\/li>\n<li><code>[agentsia_chatbot scenario=\"sos\" context_hint=\"AC emergency page\"]<\/code> \u2014 Scenario + page context.<\/li>\n<li><code>[agentsia_chatbot hide_bubble=\"1\"]<\/code> \u2014 Hide the bubble, open via JavaScript.<\/li>\n<li><code>[agentsia_booking]<\/code> \u2014 Booking form using the default calendar slug.<\/li>\n<li><code>[agentsia_booking slug=\"sales-demo\" height=\"780\"]<\/code><\/li>\n<li><code>[agentsia_demo label=\"Book my demo\"]<\/code> \u2014 Button linking to <code>\/demo<\/code>.<\/li>\n<li><code>[agentsia_derniers_articles nombre=\"3\" titre=\"Derniers articles\" categorie=\"\" auteur=\"\"]<\/code>: latest published posts of a category (slug or ID) or of an author (ID or login). Without category nor author, on a page: the category whose slug is the page's slug (page <code>\/advisor\/jane-doe\/<\/code> and category <code>jane-doe<\/code>); nothing is shown when there is none.<\/li>\n<\/ul>\n\n<h4>Gutenberg blocks<\/h4>\n\n<ul>\n<li><strong>Agentsia Chatbot<\/strong><\/li>\n<li><strong>Agentsia Booking<\/strong><\/li>\n<li><strong>Agentsia Demo button<\/strong><\/li>\n<li><strong>Derniers articles<\/strong> (latest posts, same settings as the shortcode)<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin is a connector for the <strong>Agentsia<\/strong> service (operated by Agentsia, https:\/\/agentsia.fr). It only works with an Agentsia account and communicates with the services described below. By installing and configuring this plugin, you \u2014 and your site visitors \u2014 exchange data with these services.<\/p>\n\n<h4>1. Agentsia application \u2014 https:\/\/app.agentsia.fr<\/h4>\n\n<ul>\n<li><strong>From your WordPress server (admin)<\/strong>: when you save the settings and to populate the dropdowns, the plugin calls <code>https:\/\/app.agentsia.fr\/api\/public\/wp\/me<\/code>, <code>\/api\/public\/wp\/chatbots<\/code> and <code>\/api\/public\/wp\/booking-calendars<\/code>. Data sent: your Agentsia API key (Authorization header) and your site URL (User-Agent header). Data received: your account name, the list of your chatbots and your calendars.<\/li>\n<li><strong>From your visitors' browser<\/strong>: the chat widget script is loaded from <code>https:\/\/app.agentsia.fr\/chatbot\/embed.js<\/code>; the appointment booking form is displayed in an iframe <code>https:\/\/app.agentsia.fr\/book\/&lt;slug&gt;<\/code>; the \"demo\" button is a plain link to <code>https:\/\/app.agentsia.fr\/demo<\/code>.<\/li>\n<\/ul>\n\n<h4>2. Agentsia agent backend \u2014 https:\/\/agent-backend-production-311267441656.europe-west1.run.app<\/h4>\n\n<ul>\n<li><strong>From your visitors' browser<\/strong>: once the chat widget is loaded, the messages typed by your visitors (and the optional page context) are sent to this service to generate the AI agent's replies. No data is sent until a visitor opens and uses the chat.<\/li>\n<\/ul>\n\n<h4>3. One-click connection (\u00ab Connect to Agentsia \u00bb button)<\/h4>\n\n<ul>\n<li><strong>From the administrator's browser<\/strong>: the button opens <code>https:\/\/app.agentsia.fr\/connect\/wordpress<\/code> with your site address, its REST address and a random one-time value; you log in to Agentsia there and choose a workspace, then come back to your site with a one-time code.<\/li>\n<li><strong>From your WordPress server<\/strong>: the plugin creates a dedicated user \u00ab Agentsia \u00bb with a limited role (posts, pages, media) and an Application Password for it, then sends to <code>https:\/\/app.agentsia.fr\/api\/public\/wp\/connect<\/code> the one-time code, your site and REST addresses, a random site identifier, the dedicated user's login and Application Password, and your administrator user ID (default author of articles). Agentsia calls your site back once (<code>\/wp-json\/agentsia\/v1\/environment<\/code>) to check the site holds that password, stores it encrypted, and returns the workspace API key.<\/li>\n<li><strong>Afterwards<\/strong>, the Agentsia SEO agent uses that dedicated user to read and update your content through the WordPress REST API and the plugin's routes. \u00ab Disconnect \u00bb revokes the Application Password and tells <code>https:\/\/app.agentsia.fr\/api\/public\/wp\/disconnect<\/code>.<\/li>\n<\/ul>\n\n<p>No data is transmitted until the plugin has been configured with a valid API key or connected with the button (server side), or the chatbot has been loaded and used (visitor side).<\/p>\n\n<ul>\n<li>Terms of use: https:\/\/www.agentsia.fr\/conditions-dutilisation\/<\/li>\n<li>Privacy policy: https:\/\/www.agentsia.fr\/privacy-policy\/<\/li>\n<\/ul>\n\n<p><strong>Important (GDPR)<\/strong>: the chatbot sends your visitors' messages to a third-party service. Mention this in your site's privacy policy and, where applicable, obtain the required consent (cookie \/ consent banner).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>agentsia-agents<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin from the WordPress \"Plugins\" page.<\/li>\n<li>Generate an API key in your Agentsia account: <strong>My account \u203a API keys \u203a New key<\/strong>. Copy the key (<code>agsk_\u2026<\/code>) \u2014 it is shown only once.<\/li>\n<li>Open <strong>Settings \u203a Agentsia Agents<\/strong> and paste the key into the \"API key\" field. Save.<\/li>\n<li>Select the default chatbot and calendar from the dropdowns (populated automatically from your account).<\/li>\n<li>Enable (or not) the global bubble loading, then save again.<\/li>\n<li>Use the shortcodes or Gutenberg blocks in your pages.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20my%20api%20key%3F\"><h3>Where do I get my API key?<\/h3><\/dt>\n<dd><p>Sign in to app.agentsia.fr, then open <strong>My account \u203a API keys<\/strong> and click \"New key\". Give it a descriptive name (e.g. \"WordPress site agentsia.fr\"). The full key is shown only once \u2014 copy it into WordPress immediately.<\/p><\/dd>\n<dt id=\"what%20if%20my%20key%20is%20lost%20or%20compromised%3F\"><h3>What if my key is lost or compromised?<\/h3><\/dt>\n<dd><p>From <strong>My account \u203a API keys<\/strong> on app.agentsia.fr, revoke the existing key and create a new one. Paste the new key into the WordPress plugin. Integrations using the old key will stop working immediately.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20divi%20%2F%20elementor%20%2F%20avada%3F\"><h3>Does it work with Divi \/ Elementor \/ Avada?<\/h3><\/dt>\n<dd><p>Yes. The shortcodes work in any text module. The Gutenberg blocks work in the native WordPress editor.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20the%20chatbot%20on%20specific%20pages%3F\"><h3>Can I disable the chatbot on specific pages?<\/h3><\/dt>\n<dd><p>Yes. On the settings page, enter the paths to exclude (one per line).<\/p><\/dd>\n<dt id=\"the%20chatbot%20%2F%20calendar%20list%20is%20empty%2C%20why%3F\"><h3>The chatbot \/ calendar list is empty, why?<\/h3><\/dt>\n<dd><p>Make sure your API key is valid (a \"Connected\" badge appears at the top of the settings page). If it is valid but no chatbot is listed, create one from your Agentsia dashboard. The plugin caches the lists for 5 minutes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>New: <strong>Custom fields (ACF) in targeted edits<\/strong> \u2014 when ACF is active, the <code>agentsia\/v1\/content<\/code> route also lists a page's text fields (text, textarea, WYSIWYG) as editable items (<code>f:&lt;name&gt;<\/code>, at the end of the list), and the <code>set_field<\/code> operation changes their text in the same request as the other edits. A page with no content of its own, whose text lives in its fields (one page per advisor in a network, for example), can be edited the same way, whether it is built with the block editor, the classic editor or Elementor.<\/li>\n<li>Contact details and identity are never listed: a field whose name or label refers to a phone, email, address, website, link, social network, photo, logo, name, first name, SIRET, SIREN, RSAC or professional card stays out of Agentsia's reach. Two filters adjust the list on a site: <code>agentsia_content_excluded_field_patterns<\/code> (excluded words) and <code>agentsia_content_field_units<\/code> (offered fields).<\/li>\n<li>Rollback: <code>restore_fields<\/code> puts back the previous value of a field, only for a value Agentsia itself replaced (the last 20 per field).<\/li>\n<li>New: <strong>Latest posts<\/strong> \u2014 <code>[agentsia_derniers_articles]<\/code> shortcode and \u00ab Derniers articles \u00bb block: the latest published posts of a category (<code>categorie<\/code>, slug or ID) or an author (<code>auteur<\/code>, ID or login), 3 by default and 10 at most (<code>nombre<\/code>), with an adjustable heading (<code>titre<\/code>). With neither category nor author, it uses the category that has the same slug as the page (page <code>\/conseiller\/jean-dupont\/<\/code> and category <code>jean-dupont<\/code>); nothing is shown when there is none.<\/li>\n<li>Fix: targeted edits refused every blog post as a \u00ab shared template \u00bb on themes that have both a PHP <code>single.php<\/code> and a block <code>index.html<\/code> template. The plugin now picks the same template as WordPress: a theme's PHP template wins over a less specific block template.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>New: <strong>One-click connection<\/strong> \u2014 \u00ab Connect to Agentsia \u00bb sends the administrator to log in to Agentsia and pick a workspace; the site is linked without copying any API key or password. A dedicated \u00ab Agentsia \u00bb user is created with a limited role (posts, pages and media only: never users, plugins, themes or settings); \u00ab Disconnect \u00bb revokes its access.<\/li>\n<li>New: <strong>SEO title, meta description, noindex and canonical URL<\/strong> \u2014 REST route <code>agentsia\/v1\/seo-meta<\/code> (Application Password, <code>edit_post<\/code> capability) so the Agentsia SEO agent reads and writes them in the active SEO plugin (Yoast SEO, Rank Math, SEOPress, All in One SEO, The SEO Framework), or prints them itself when no SEO plugin is active.<\/li>\n<li>New: <strong>Targeted page edits<\/strong> \u2014 REST route <code>agentsia\/v1\/content<\/code> lists the sections of a page (blocks, classic content split at its headings, Elementor Heading and Text editor widgets) and changes, adds or removes one without rewriting the page or touching its layout. Refuses Divi\/WPBakery pages. Every write checks the page did not change since it was read.<\/li>\n<li>New: targeted edits reach the blocks nested in groups, columns and covers (theme patterns): change the words of a paragraph or heading while keeping its style, insert inside a section, duplicate an FAQ question with new texts. Layout blocks and their settings are never modified.<\/li>\n<li>New: block themes: the home page, the archive of a post type or a page built in the Site Editor can be edited too (its template, like the Site Editor does; templates shared by several pages are refused). <code>replace_text<\/code> puts a link on words already in a text (internal linking) without rewriting it.<\/li>\n<li>New: <strong>Structured data (JSON-LD)<\/strong> \u2014 the SEO agent sends an article's JSON-LD through <code>agentsia\/v1\/seo-meta<\/code> (<code>schema_jsonld<\/code>); the plugin validates it, stores it with the post and prints it in <code>&lt;head&gt;<\/code>. It no longer goes into the post content, where WordPress stripped the <code>&lt;script&gt;<\/code> tag for the dedicated Agentsia user and showed the JSON as text.<\/li>\n<li>New: <strong>Image alternative text<\/strong> \u2014 REST route <code>agentsia\/v1\/images<\/code> lists the images of a page and fixes their alt text, both in the media library and in the page content (where the editor copies it). Requires WordPress 6.2+.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Integration IndexNow et resize des calendriers<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: <strong>Auto-resize du formulaire de rendez-vous<\/strong> \u2014 l'iframe <code>[agentsia_booking]<\/code> (shortcode et bloc) ajuste automatiquement sa hauteur au contenu via postMessage (formulaire rempli, questions suppl\u00e9mentaires, calendrier, confirmation). L'attribut <code>height<\/code> ne sert plus que de hauteur initiale \u2014 plus de zone vide ni de scroll interne.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: <strong>Custom open\/close trigger<\/strong> \u2014 bind any page element (CSS selector) to toggle the chatbot, with automatic grey-out or hide while the assistant is unavailable.<\/li>\n<li>New: <strong>Default scenario<\/strong> at the global level \u2014 applies a named scenario (defined in the chatbot config on the Agentsia side) on all public pages.<\/li>\n<li>New: <strong>Hide bubble<\/strong> at the global level \u2014 hides the floating bubble and only opens the chatbot via <code>window.agentsia.open()<\/code>.<\/li>\n<li>New: <strong>Extended shortcode<\/strong> \u2014 <code>scenario<\/code>, <code>context_hint<\/code>, <code>hide_bubble<\/code> available on <code>[agentsia_chatbot]<\/code>.<\/li>\n<li>New: Documentation of the JavaScript methods <code>setWelcomeMessage<\/code>, <code>setQuickReplies<\/code>, <code>setTeaserMessage<\/code>, <code>setAutoOpenDelay<\/code>, <code>setScenario<\/code>, <code>setContext<\/code>, <code>setAppearance<\/code>, <code>apply()<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Personal API key authentication (generated from app.agentsia.fr).<\/li>\n<li>Chatbot and calendar selection via dropdowns (automatic sync from the Agentsia account).<\/li>\n<li>Global chatbot (bubble, modal, full-page).<\/li>\n<li>Shortcodes and Gutenberg blocks for chatbot, booking and demo button.<\/li>\n<li>Complete settings page (API, appearance, exclusions).<\/li>\n<\/ul>","raw_excerpt":"Easily add your Agentsia AI agents (web chatbot, appointment booking, demo funnel) to your WordPress site.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=331696"}],"author":[{"embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thomasservais"}],"wp:attachment":[{"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331696"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331696"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331696"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331696"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331696"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mfe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}