Skip to Content
WidgetCustomization

Widget Customization

Style and configure the LoopReply widget to match your brand.

Dashboard Configuration

Widget customization is done through the LoopReply dashboard:

  1. Go to your bot’s Appearance tab (under Configuration)
  2. Use the visual editor to customize:
    • Colors and branding
    • Header text and avatar
    • Welcome messages
    • Launcher style
  3. Preview changes in real-time
  4. Changes apply automatically to your embedded widget

Theme Settings

SettingDescription
Primary ColorHeader and button background
BackgroundChat window background
Border RadiusCorner roundness

Header Configuration

SettingDescription
TitleHeader text (e.g., “Support”)
SubtitleSecondary text (e.g., “We typically reply in minutes”)
AvatarBot profile image

Launcher Configuration

SettingDescription
PositionBottom-right or bottom-left
IconCustom launcher icon

Embed Code Options

The embed code supports these data attributes:

<script src="https://widget.loopreply.com/embed.js" data-agent-id="your-agent-id" data-user-name="John Doe" data-user-email="john@example.com" async ></script>

Available Attributes

AttributeDescription
data-agent-idRequired. Your bot’s unique ID
data-api-urlOptional. Custom API endpoint
data-user-idUser’s unique identifier
data-user-nameUser’s display name
data-user-emailUser’s email address
data-user-phoneUser’s phone number
data-customJSON string of custom fields

Passing User Data

Identify users for personalized experiences:

<script src="https://widget.loopreply.com/embed.js" data-agent-id="your-agent-id" data-user-id="user-123" data-user-name="John Doe" data-user-email="john@example.com" data-custom='{"plan":"premium","company":"Acme"}' async ></script>

Programmatic Configuration

For more control, use the JavaScript API:

window.loopReplyConfig = { agentId: 'your-agent-id', user: { id: 'user-123', name: 'John Doe', email: 'john@example.com' }, customFields: { plan: 'premium', company: 'Acme Inc' } }

Then load the script:

<script src="https://widget.loopreply.com/embed.js" async></script>

Responsive Behavior

The widget automatically adapts to different screen sizes:

  • Desktop: Fixed position, standard size
  • Mobile: Optimized for touch, larger tap targets

Conditional Loading

Load the widget only when needed:

// Load only for logged-in users if (user.isLoggedIn) { const script = document.createElement('script') script.src = 'https://widget.loopreply.com/embed.js' script.dataset.agentId = 'your-agent-id' document.body.appendChild(script) }

Testing

Preview in Dashboard

  1. Open your bot’s Appearance tab
  2. Use the built-in preview panel
  3. Test different configurations
  4. Send test messages

On Your Site

  1. Add the embed code to a test page
  2. Verify the widget loads correctly
  3. Test the chat functionality
  4. Check on different devices
Last updated on