{"id":383073,"date":"2026-10-09T16:53:17","date_gmt":"2026-10-09T16:53:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/swissai-click-to-call\/"},"modified":"2026-10-09T20:29:22","modified_gmt":"2026-10-09T20:29:22","slug":"swissai-click-to-call","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/swissai-click-to-call\/","author":23582186,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.1.3","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"SwissAI Click to Call","header_author":"Swissvoip SA","header_description":"Adds a call button to your site: visitors talk to your SwissAI voice agent from the browser, without a phone.","assets_banners_color":"c2c4c6","last_updated":"2026-10-09 20:29:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.swissai.dev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":88,"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":"swissvoip","date":"2026-10-09 16:52:58","revision":3737100},"1.2.0":{"tag":"1.2.0","author":"swissvoip","date":"2026-10-09 19:16:19","revision":3737239},"1.3.0":{"tag":"1.3.0","author":"swissvoip","date":"2026-10-09 20:29:22","revision":3737304}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3737293,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3737293,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3737293,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3737293,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3737293,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.2.0","1.3.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,2364,2489,258158,8025],"plugin_category":[],"plugin_contributors":[285417],"plugin_business_model":[],"class_list":["post-383073","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chatbot","plugin_tags-click-to-call","plugin_tags-voice-agent","plugin_tags-webrtc","plugin_contributors-swissvoip","plugin_committers-swissvoip"],"banners":{"banner":"https:\/\/ps.w.org\/swissai-click-to-call\/assets\/banner-772x250.png?rev=3737293","banner_2x":"https:\/\/ps.w.org\/swissai-click-to-call\/assets\/banner-1544x500.png?rev=3737293","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/swissai-click-to-call\/assets\/icon.svg?rev=3737293","icon":"https:\/\/ps.w.org\/swissai-click-to-call\/assets\/icon.svg?rev=3737293","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>SwissAI Click to Call puts your SwissAI agent on your WordPress site, by voice, in writing or both.<\/p>\n\n<ul>\n<li><strong>Call<\/strong>: the visitor clicks, allows the microphone and talks to your SwissAI voice agent directly from the browser.<\/li>\n<li><strong>Chat<\/strong>: the visitor opens a small chat window and writes; the same agent answers in writing, with the same instructions, knowledge base and tools (it can book an appointment in the chat as it does on the phone).<\/li>\n<li>In the settings you choose what the site shows: Call, Chat or Both. One shortcode can choose otherwise: <code>[swissai_call mode=\"chat\"]<\/code>.<\/li>\n<li>One agent per language: a WebRTC client for each language, the button and the chat use the language of the page (works with Polylang and WPML).<\/li>\n<li>Shortcode <code>[swissai_call]<\/code> to place the buttons in any page or post, <code>[swissai_call lang=\"de\"]<\/code> to force a language.<\/li>\n<li>Optional floating buttons on every page.<\/li>\n<li>Button texts can be changed in the settings or per shortcode: <code>[swissai_call label=\"Talk to us\" hangup=\"End call\" chat_label=\"Write to us\"]<\/code>.<\/li>\n<li>The secret key stays on your server and never reaches the browser.<\/li>\n<\/ul>\n\n<p><strong>A SwissAI account is required.<\/strong> The button and the chat talk to an agent that you create in the SwissAI dashboard: <a href=\"https:\/\/www.swissai.dev\/login.html?signup=1\">create your account on swissai.dev<\/a>.<\/p>\n\n<p>The settings page is translated into Italian, German, French, Spanish, Russian, Portuguese and Chinese; the buttons, the chat and their messages speak the language of the page.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to SwissAI (developers.swissai.dev), a service of Swissvoip SA, to let visitors talk or write to your agent.<\/p>\n\n<ul>\n<li><strong>Call<\/strong>: when a visitor clicks the call button, your server sends the client name and the secret key you saved in the settings to <code>https:\/\/developers.swissai.dev\/api\/webrtc\/token<\/code> and receives a temporary password valid for one call. On pages that show the call button, the browser loads <code>https:\/\/developers.swissai.dev\/js\/call.js<\/code>, which opens the call (audio from the visitor's microphone) to the SwissAI switchboard.<\/li>\n<li><strong>Chat<\/strong>: when a visitor sends a message, your server sends to <code>https:\/\/developers.swissai.dev\/api\/messages<\/code> the client name and the secret key, the text of the message, the last exchanges of the conversation (at most 20) and a random identifier of the browser session, and receives the agent's reply. The conversation is kept in the visitor's browser only for the session; the plugin stores nothing on your server.<\/li>\n<\/ul>\n\n<p>No data is sent until the buttons are on a page; no call is started and no message is sent until the visitor clicks or writes.<\/p>\n\n<p>Terms of service: https:\/\/www.swissai.dev\/terms.html\nPrivacy policy: https:\/\/www.swissai.dev\/privacy.html<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Create a SwissAI account on <a href=\"https:\/\/www.swissai.dev\/login.html?signup=1\">swissai.dev<\/a>: the button and the chat talk to a SwissAI agent and do not work without one.<\/li>\n<li>In the SwissAI dashboard create an agent for each language of your site: its instructions, its knowledge base and, if you want, the tools it uses to book or look things up.<\/li>\n<li>In the dashboard open Telephony \u203a WebRTC clients, create one client per agent and add your site's domain. Copy the client name (<code>wc_\u2026<\/code>) and the secret key (<code>wk_\u2026<\/code>): the key is shown only once. The same client is used by the call and by the chat.<\/li>\n<li>In WordPress install and activate the plugin, then open Settings \u203a SwissAI Click to Call and paste each client name and secret key in the row of its language; mark one as default.<\/li>\n<li>Choose what to show on the site: Call, Chat or Both.<\/li>\n<li>Add the shortcode <code>[swissai_call]<\/code> to a page, or enable the floating button. For the call the site must use HTTPS: browsers allow the microphone only there.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20swissai%20account%3F\"><h3>Do I need a SwissAI account?<\/h3><\/dt>\n<dd><p>Yes. You create the agent and the WebRTC client in the SwissAI dashboard.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20different%20key%20for%20the%20chat%3F\"><h3>Do I need a different key for the chat?<\/h3><\/dt>\n<dd><p>No. The chat uses the same client name and secret key as the call, and the same agent answers.<\/p><\/dd>\n<dt id=\"can%20i%20show%20only%20the%20chat%3F\"><h3>Can I show only the chat?<\/h3><\/dt>\n<dd><p>Yes. In the settings choose Chat; or use <code>[swissai_call mode=\"chat\"]<\/code> on a single page while the rest of the site keeps the call.<\/p><\/dd>\n<dt id=\"are%20calls%20and%20messages%20billed%3F\"><h3>Are calls and messages billed?<\/h3><\/dt>\n<dd><p>Calls from the button count as minutes on your SwissAI plan, like any other call. Chat messages follow the conditions of your SwissAI plan.<\/p><\/dd>\n<dt id=\"the%20button%20does%20not%20start%20the%20call\"><h3>The button does not start the call<\/h3><\/dt>\n<dd><p>Check that your site's domain is listed in the WebRTC client in the SwissAI dashboard and that the site is served over HTTPS (browsers require it for the microphone).<\/p><\/dd>\n<dt id=\"the%20chat%20says%20it%20is%20not%20available\"><h3>The chat says it is not available<\/h3><\/dt>\n<dd><p>The SwissAI account behind the client has no active trial or plan, or no credit: check Billing in the SwissAI dashboard.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Chat with the agent: a small chat window next to the call button, or instead of it. Same client name and secret key, same agent.<\/li>\n<li>New setting \"Show on the site\": Call, Chat or Both; the shortcode accepts mode=\"call\", mode=\"chat\" or mode=\"both\" and chat_label=\"\u2026\".<\/li>\n<li>The call script is loaded only on pages that show the call button.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Getting started box on the settings page, with the link to create a SwissAI account.<\/li>\n<li>Settings page translated into Italian, German, French, Spanish, Russian, Portuguese and Chinese.<\/li>\n<li>\"Settings\" link in the plugin list.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>One WebRTC client per language; the button follows the language of the page, the shortcode accepts lang=\"xx\".<\/li>\n<li>Button and status texts in English, Italian, German, French, Spanish, Russian, Portuguese and Chinese.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"A call button and a chat for your site: visitors talk or write to your SwissAI agent from the browser, without a phone.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383073","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=383073"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/swissvoip"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383073"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383073"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383073"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383073"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383073"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}