Skip to main content

Embedding Widget

This guide covers everything you need to embed the Ringyo AI chat widget on your website, including code examples and advanced configuration.

Basic Embed

Add this snippet before the closing </body> tag:
<script
  src="https://widget.ringyo.ai/chat.js"
  data-agent-id="YOUR_AGENT_ID"
  async
></script>
That’s it — the widget will appear in the bottom-right corner of your page.

Full Configuration

<script
  src="https://widget.ringyo.ai/chat.js"
  data-agent-id="YOUR_AGENT_ID"
  data-color="#0D9488"
  data-position="bottom-right"
  data-welcome="Hi! How can I help you today?"
  data-name="Support Agent"
  data-avatar="https://yoursite.com/avatar.png"
  data-hide-branding="false"
  data-auto-open="false"
  data-delay="3000"
  async
></script>

Attribute Reference

AttributeTypeDefaultDescription
data-agent-idstringrequiredYour agent’s ID (from Dashboard → Agents)
data-colorhex string#0D9488Primary accent color
data-positionstringbottom-rightbottom-right or bottom-left
data-welcomestring”Hi! How can I help?”Initial message shown to visitors
data-namestringAgent nameDisplay name in chat header
data-avatarURLRingyo defaultAgent avatar image URL
data-hide-brandingbooleanfalseHide “Powered by Ringyo” (Pro+)
data-auto-openbooleanfalseAuto-open widget on page load
data-delaynumber0Delay before auto-open (ms)

JavaScript API

Control the widget programmatically after it loads:
// Open the widget
window.RingyoChat.open();

// Close the widget
window.RingyoChat.close();

// Toggle open/closed
window.RingyoChat.toggle();

// Send a message programmatically
window.RingyoChat.sendMessage('I need to book an appointment');

// Set visitor info (for personalization)
window.RingyoChat.setVisitor({
  name: 'Jane Smith',
  email: 'jane@example.com',
  phone: '+1234567890'
});

Framework Examples

import { useEffect } from 'react';

function ChatWidget() {
  useEffect(() => {
    const script = document.createElement('script');
    script.src = 'https://widget.ringyo.ai/chat.js';
    script.setAttribute('data-agent-id', 'YOUR_AGENT_ID');
    script.async = true;
    document.body.appendChild(script);

    return () => document.body.removeChild(script);
  }, []);

  return null;
}

export default ChatWidget;

Event Callbacks

Listen for widget events:
window.addEventListener('ringyo:ready', () => {
  console.log('Widget loaded');
});

window.addEventListener('ringyo:message', (e) => {
  console.log('New message:', e.detail);
});

window.addEventListener('ringyo:open', () => {
  console.log('Widget opened');
});

window.addEventListener('ringyo:close', () => {
  console.log('Widget closed');
});
Use event callbacks to trigger custom analytics or integrate with your app’s state management.

Next Steps