Skip to content
Supporto Spoki

Documentation for Spoki use

  • English
    • Italiano
    • Español
  • English
    • Italiano
    • Español

Integrations

34
  • Integrate WhatsApp with Google Sheets
  • Integrating Spoki with Facebook forms.
  • Integrating Spoki with Brevo (formerly sendinblue)
  • Integrating WhatsApp with Zapier
  • WhatsApp and WooCommerce Integration
  • Integrating WhatsApp with Hubspot
  • Integrating WhatsApp with Qapla’
  • Integrating WhatsApp with ActiveCampaign
  • Klaviyo and Spoki Integration.
  • Integrating WhatsApp with IFTTT
  • Integrate WhatsApp with Zoho
  • Integrate WhatsApp to WPNotif
  • Integrate WhatsApp with Semplisio
  • Integrating Spoki with Webhooks
  • Integrate Prestashop to WhatsApp
  • Integrate Spoki with any management system via API
  • Integrating Calendly with Spoki
  • Integrate WhatsApp with Google Calendar
  • How to send a Webhook out of Spoki vs. a management system
  • Integrating WhatsApp with Paypal
  • Zadarma
  • Embed Spoki on your Software
  • Spoki Integration with Connectif: Automating WhatsApp Messages
  • Integrate WhatsApp with Shopify
  • Insert Chat Button on Shopify
  • Get Started with Spoki MCP
  • Sync Klaviyo Lists and Segments with Spoki
  • Gorgias
  • Make
  • Shopify App
  • Ringover
  • Magnews Flow
  • Salesforce Flow

Platform

15
  • Lists
  • Dynamic fields
  • Import CSV from Lists
  • Apply for OBA (Official Business Account) WhatsApp
  • Ticket
  • How to verify the authenticity of Spoki emails
  • Contact
  • Dashboard
  • Chat
  • Campaigns
  • Template messages
  • Chat buttons
  • Tags
  • Integrations
  • Automations

How to

86
  • How to create a simple automation from the Campaigns section
  • Spoki on your Smartphone – Web App and Notifications
  • “Delay” Step: When and How to Use It
  • Quick Action “If/Else”
  • How to Filter Chats by One or More Tags/Agents/Lists/Tickets
  • Marketing Consent on Spoki: Operational Guide
  • Guide to the Branching Option in Automations
  • Introduction to Using the OTP Code
  • Guida allo step “Attendi risposta”
  • How to Upload a Contact List on Spoki: A Step-by-Step Guide
  • Crafting AI Prompts
  • How to send the content of a message to an external webhook
  • Multiple steps in automation
  • HOW TO TRACK CLICKS ON TEMPLATE MESSAGE LINKS: UTM
  • How to write documents for AI
  • Template suggested by Artificial Intelligence (AI)
  • How to create a marketing funnel on Shopify
  • Integrating Spoki with Meta Listings
  • How to build your own AI Agent
  • Restore all blocked contacts
  • Translate messages and replies if the contact has a different language
  • Transcription and translation of audio in chat
  • Permanently delete a contact on Spoki
  • How to export all messages from a chat as CSV
  • How to change media in the Template before sending it in chat
  • How to create a list for contacts in a specific automation step
  • New features of Active Campaign
  • How to populate a dynamic field
  • How to activate catalog display on WhatsApp
  • How to add Tag in automation before inserting it
  • How to generate a list from Campaign Statistics
  • How to segment clients within Automations.
  • How not to let your recharge expire
  • How to automatically manage who replies/does not reply to a message
  • How to terminate automation manually for specific contacts
  • How to terminate automation manually for specific contacts
  • HOW TO CREATE A LIST FOR CONTACTS IN A SPECIFIC AUTOMATION STEP
  • HOW TO GENERATE A LIST FROM CAMPAIGN STATISTICS
  • HOW TO ADD TAG IN AUTOMATION BEFORE INSERTING IT
  • New features of Active Campaign
  • How to change media in Template before sending it to chat
  • How to export all chat messages as CSV
  • Audio transcription and translation in chat
  • Delete contact permanently on Spoki
  • Train artificial intelligence (AI) on Spoki
  • Integrating Spoki with Meta Listings
  • How to set up a CTA with dynamic field
  • How to send the content of a message to an external webhook
  • How to automatically manage who replies/doesn’t reply to a message
  • Free messages with buttons
  • How to get a single contact out of all automations
  • Spoki – first steps
  • How to transfer contacts from your Whatsapp app to Spoki
  • How to handle cases when I have to send a chat reply to a customer after 24 hours?
  • How to withdraw from Spoki service
  • HOW TO LINK SPOKI TO FACEBOOK INTERACTION CAMPAIGNS
  • How to manage booking Calendly + Active Campaign + Spoki
  • How to consult automation reporting
  • How to send multi-language messages
  • How can I identify which user has replied in chat to a message?
  • How to populate a dynamic field via CSV upload and submit a campaign
  • How to enable automation for birthday greeting message
  • How to automatically handle those who do not respond
  • How to activate the Woocommerce plugin associated with Spoki Pro
  • How to enable automation for non-working hours
  • How to link Spoki to Facebook campaigns
  • How to activate an automatic message to run on holidays
  • How to link a Chat Button on the website to an automated response
  • How to insert WhatsApp chat button on WordPress site
  • How to update Spoki’s WhatsApp profile
  • Recommended proportions for images in Whatsapp messages
  • How to create template button response automation
  • How to start an automation with API
  • How to enable notifications on Spoki
  • How to lock/unlock contacts automatically
  • How to create new users and assign different roles
  • How to integrate Spoki for your customers into your software
  • How to recover abandoned shopping carts on Woocommerce
  • How to Automatically Send a Reminder Message Using Spoki
  • How to duplicate automations/ templates
  • Managing Free Messages in the Automation Flow
  • How to attribute or remove tags to contacts in a list
  • How to delete multiple contacts
  • Migration from old Twilio provider
  • View only unread chats
  • How to Use the Return Webhook from Spoki to Zapier

Strategies

13
  • Tips for mass mailings over 10,000 contacts
  • WhatsApp Strategies for Christmas: The Complete Guide to Maximizing Sales and Customer Satisfaction
  • WhatsApp That Sells – Mini Strategic Guide by Sector
  • WhatsApp for E-commerce: How to Turn Conversations into Sales with Spoki
  • Why Spoki AI is Essential in Every Communication and Sales Strategy
  • Reach All Your Contacts Without Exceptions: SMS Integrated into Spoki Automations
  • Practical Guide to Creating, Optimizing, and Approving WhatsApp Templates with Spoki and ChatGPT
  • Practical Guide to Creating, Optimizing, and Approving WhatsApp Templates with Spoki and ChatGPT
  • The 6 Most Effective Automations to Use with Spoki
  • Tips for mass mailings over 10,000 contacts

WhatsApp rules

8
  • “Daily” contact limits
  • Authorization for use
  • Quality of messages sent
  • Types of messages
  • Conversations
  • What to do if your account is in low quality
  • What to do if you have been banned from WhatsApp
  • Rules to avoid ban from WhatsApp

Onboarding

6
  • 2a. Accepting notification from Tyntec
  • 2. Verify Meta Business Manager
  • Spoki activation – authorization from Meta BM
  • Before activating Spoki: What you need to know about your existing WhatsApp number
  • Plans and prices | Spoki
  • 3. Spoki Training Course

Release Notes

4
  • Carousel Template
  • Report Tickets
  • Commerce Triggers
  • Automation step “Start automation”
  • Home
  • Docs
  • Integrations
  • Embed Spoki on your Software
View Categories

Embed Spoki on your Software

How can I embed Spoki, so the WhatsApp Chat in the contact detail page of my software?
How can I let my clients to request a WhatsApp template directly form my management software?


Solve these needs, and more, by embedding Spoki into your own software!

Functionalities #

Here’s what you can embed Spoki with the iframe:

  • Iframe embedding. Allow your customers to use Spoki features without leaving your management system.
  • Auto-login via token. No need to provide Spoki credentials to your users, you can authenticate the associated service user before showing them the iframe.
  • Hide Spoki branding. The Spoki logo is not visible in the iframe.
  • Multi-Session. Simultaneously use Spoki in different tabs with different sessions.
  • Prevent navigation. In iframe the navigation bar is not visible, in this way you can limit the usage to a specific page.
  • Get notified when:
    • Unread chats changed
    • The list of chats in the Chats Page changed
    • The list of messages in the Chat Detail Page changed

How To #

To embed the Spoki iframe you need to perform the following steps:

  1. Request the Bees Key
  2. Generate the Private Token
  3. Embed the iframe
  4. Subscribe to iFrame Events
  5. Obtain the Api Key Approval, then enjoy 🎉

1. Request the Api Key #

  • Go to Integrations / API / Request Api Key

request new api key
  • Insert the motivation and click on “Request Api Key”
    Eg. “I want to develop the Spoki integration within my management system so as to be able to embed a chat iframe in the detail of a contact.”

request api key

  • Save the generated Api Key. You will not be able to use the API until it is approved, you will receive an email regarding the outcome of the request within a maximum of 48h.

copy api key

2. Generate the Private Token #

The Private Token is associated to a specific user of your account.
You can obtain a Private Token for:

  • Service User – recommended
  • Your own user
  • Asking other users to login and give it to you – not recommended, use Service Users instead

To obtain the Private Token follow these steps:

  • Go to Users & Roles / Add
  • Select the role, select“Service user” as user type, insert the name, then click“Add“

add service user

  • Click on the key icon on the right of the service user
  • Click on“Generate new Private Key“

generate private key

  • Save the email and the Private Key.
    IMPORTANT: Make sure to save it, you won’t be able to access it again. Keep the key protected, anyone who has it can act for you. If so, regenerate the key.

copy private key

3. Embed the iframe #

ATTENTION: you will not be authorized to use this API until you have an Approved API Key!

Yes, I know you’ve been itching to do this…it’s time to code! 👨‍💻

Here’s how it works:

  • In your HTML page insert an empty div for the Spoki embedding
    <body>
      ...
      <div id="spoki-embedding"></div>
  • Insert the css style in the head
      ...
      <style>
        #spoki-embedding iframe {
          position: fixed;
          bottom: 10px;
          right: 10px;
          height: 600px;
          width: 450px;
          border: 2px solid #cccccc;
          border-radius: 8px;
        }
      </style>
    </head>
  • Before the end of the body insert this script that allows you to make the auth using the Api Key and Private Key, then it will insert the iframe inside the div. The user will be auto-logged in and will go to the page slug specified.
      ...
      <script type="application/javascript">
        // Init Spoki iFrame, you can open every Spoki page you need
  function initSpokiIframe() {
    const headers = new Headers();
    headers.append("Content-Type", "application/json");
    headers.append("X-Spoki-Api-Key", "{{Api-Key}}");
    const body = JSON.stringify({
      email: "{{Email}}",
      private_key: "{{Private-Key}}"
    });
    const requestOptions = {
      method: "POST",
      headers,
      body,
      redirect: "follow"
    };
    fetch("https://app.spoki.it/api/1/auth/get_authentication_token/", requestOptions)
      .then(response => response.json())
      .then(({ token, uid }) => {
        // the slug of the Spoki page you want to open
        const pageSlug = "chats";

        const iframeParent = document.getElementById("spoki-embedding");
        const iframeEl = document.createElement("iframe");
        iframeEl.setAttribute("frameborder", "0");
        iframeEl.setAttribute("src", `https://spoki.app/${pageSlug}?auth_token=${token}&auth_uid=${uid}&language=en`);
        iframeParent.appendChild(iframeEl);
      })
      .catch(error => console.log("Spoki error", error));
  }

        // Call on startup
        (initSpokiIframe)();
      </script>
    </body>
  • You can set as page slug all the Spoki routes you want, the most important are:
    • Chat list:“chats“
    • Chat detail:”chats/:uuid” (you can get the chat_link using the Contacts Api).
      You can concatenate to the src url the query params as follow:
      – “&can_view_chat_list=false” => hide the back button to prevent the access to the chats page.
      – “&can_reply_in_chat=false” => hide chat footer to prevent the reply from the iFrame
      – “&can_send_paypal_in_chat=false” => hide the PayPal tab in the chat footer
    • Templates: “templates“
  • If you need to open the iFrame in a specific language you can pass as param to the src of the iFrame the language parameter (supported values are it, en, es)

Want to know more about the Get Authentication Token Api? Check the Api Documentation

4. Subscribe to iFrame Events #

With Spoki you can subscribe to the iFrame Events:

  • Unread chats changed (pageSlug: works on every page)
    • eventType: hasUnreadChatsChanged
    • data: { hasUnreadChats: boolean }
  • The list of chats in the Chats Page changed (pageSlug: chats)
    • eventType: chatsChanged
    • data: { chats: Chat[]; hasFilters: boolean; page: number }
  • The list of messages in the Chat Detail Page changed (pageSlug: chats/:uuid)
    • data: { chat: Chat; page: number; messages: Message[] }
...
<script type="application/javascript">
  function initSpokiIframe() {
    ...
      .then(({ token, uid }) => {
        // Call it if you need to subscribe to Spoki events
        subscribeToSpoki();        
        ...
      })
    ...
  }

  // Subscribe to the Spoki iFrame to get notified about events
  function subscribeToSpoki() {
    window.addEventListener("message", (event) => {
        if (event.origin !== "https://spoki.app") return;
        const { eventType, data } = event.data;
        switch (eventType) {
          case "hasUnreadChatsChanged":
            /** Unread chats changed (pageSlug: works on every page)
             * hasUnreadChats: boolean
             */
            console.log("Spoki", eventType, data);
            break;
          case "chatsChanged":
            /** The list of chats in the Chats Page changed (pageSlug: chats)
             * chats: Chat[]
             * hasFilters: boolean
             * page: number
             */
            console.log("Spoki", eventType, data);
            break;
          case "chatMessagesChanged":
            /** The list of messages in the Chat Detail Page changed (pageSlug: chats/:uuid)
             * chat: Chat
             * page: number
             * messages: Message[]
             */
            console.log("Spoki", eventType, data);
            break;
          default:
            console.log("Spoki", "Unhandled message event type", eventType, data);
        }
      },
      false
    );        
      ...
</script>

5. Obtain the Api Key Approval, then enjoy 🎉 #

Well done! Everything is ready to let your clients use Spoki from your own web software.

You just have to wait for the Api Key approval.

Thank you for your time.

Enjoy Spoki 🎉

Download the Demo File #

test_spoki_iframeDownload
What are your Feelings
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on September 30, 2025
ZadarmaSpoki Integration with Connectif: Automating WhatsApp Messages

Powered by BetterDocs

Table of Contents
  • Functionalities
  • How To
    • 1. Request the Api Key
    • 2. Generate the Private Token
    • 3. Embed the iframe
    • 4. Subscribe to iFrame Events
    • 5. Obtain the Api Key Approval, then enjoy 🎉
    • Download the Demo File
DEVELOP YOUR BUSINESS WITH SPOKI AND WHATSAPP
Try now for free

Contacts

  • info@spoki.it
  • +39 351 5495135
  • Informativa Privacy

Menu

  • Home
  • Prices
  • Functionality
  • Integrations
  • Artificial Intelligence
  • About us

Solutions

  • Marketing
  • Sales
  • Customer Care
  • Developers

Support

  • API Documentation
  • Blog
  • Case Study
  • Learning Center
  • Manual

Spoki.it © All rights reserved NextAI Srl P.IVA IT02717930743 Viale Francia snc, 72019 San Vito Dei Normanni (BR) Italy

Soluzioni

  • Marketing
  • Vendita
  • Assistenza Clienti
  • Developers
  • Italiano (Italian)
  • English
  • Español (Spanish)