Help Center

How can we help?

Search the docs, browse the FAQ, or open a ticket. Most things have a one-click answer below.

All systems operational Average first reply ~6h
Chat guide
Customer reference
API & webhooks
Install, JWT, payloads
Account & billing
Reset, card, invoices
Contact us
Reply within 24h
FAQ

Frequently asked questions

31 questions

Getting started

How long does it take to install?

Under a minute. Copy the snippet from the Install tab and paste it inside your site's <head>. It works the same on Shopify, Wix and WordPress.

Can I match the widget to my brand colors?

Yes. The Appearance panel ships with eight presets plus inline color pickers for the seven theme slots — launcher, header, message bubbles, borders, text, and page background. Basic adds a custom-CSS slot for total control over the support widget.

How do I lock the widget to my own domain?

Set the Restricted domain field in Project → Settings. The widget will refuse to load on any other origin. Wildcards (*.example.com) and comma-separated lists are supported for multi-subdomain setups. Combined with our origin allow-list on the realtime bridge, this prevents your support widget from being embedded or impersonated on a rogue page.

Can I run separate inboxes on the same site?

Yes. Every project supports multiple inboxes (e.g. one for sales, one for billing, one for technical support). The "multiple widgets per domain" toggle (Basic and above) lets one project serve different inbox IDs at different URLs of the same domain — useful when your pricing page, docs, and checkout each need conversations routed to a different team but share branding and teammate access.

Does the widget work on mobile?

Yes — the widget is fully responsive and survives back-forward cache (bfcache) restores on iOS Safari. There's a mobile size toggle so customers can collapse it to a launcher bubble and re-expand. Notifications, file attachments, replies, and the Help Center all work the same as desktop. We test viewport widths from 320px up.

Customer experience

Do customers need an account to start a conversation?

No — the widget is frictionless by default. A customer just types their question; we capture their email only when they want a reply by email or you ask for it. If you already know who they are, pass identity via JWT so conversations attach to a verified contact automatically. No login wall ever blocks someone from reaching you.

How do internal notes and @mentions work?

Inside any conversation, switch the composer to Note to leave an internal comment your customer never sees — perfect for context, handoffs, or a heads-up. Type @ to autocomplete a teammate; the mentioned agent gets a notification with a one-click jump to that conversation. Public replies and private notes live in the same thread so the full history stays in one place.

Can agents use saved replies and macros?

Yes. Build a library of saved replies for your most common answers and insert one by typing / in the composer then picking from the autocomplete — placeholders like {{first_name}} are filled from the contact. Macros go further: one click can insert a reply, add tags, set priority, and assign or close the conversation in a single action, so routine tickets are handled in seconds.

Team & routing

Can I assign conversations to specific agents?

Yes — the shared inbox lets you assign any conversation to a teammate (or a team) with one click, and it moves into their queue instantly. Basic plans and above support multiple teammates; each gets their own login and a scoped view of the inbox. You can also restrict a teammate to a specific inbox so billing questions never land in the wrong place.

Will I miss conversations when I'm away?

No. Set business hours and an away message so customers know when to expect a reply, and route new conversations to Slack so nothing waits in an inbox nobody's watching. Email digests batch new activity on a schedule you control (minimum 10 minutes between emails, Basic and above). The inbox plays a soft chime and desktop notification when a conversation is assigned to you or a customer replies.

How do SLA targets work?

Set a first-response and a resolution target per priority (e.g. urgent: reply in 1h, resolve in 8h) and the inbox counts down against business hours. A conversation nearing its target gets a warning badge; one that breaches turns red and can ping Slack. The Analytics tab tracks first-response time, resolution time, and breach rate so you can see where targets slip.

Can I tag, prioritize, and snooze conversations?

Yes. Apply tags (e.g. refund, bug, vip) to organize and report on conversations, set a priority that feeds your SLA targets, and snooze anything that's waiting on the customer or a third party — it drops out of your open queue and pops back to the top when the snooze expires or they reply. Tag changes fire a conversation_updated webhook so you can mirror them to Slack or your CRM.

Can I see a contact's past conversations and details?

Yes. Every conversation opens a contact profile alongside the thread: their full prior history, the tags they carry, and any custom attributes you store (plan, order count, last login — push them in via JWT or the API). So when a customer returns you have the whole relationship in view without asking them to repeat themselves. Profiles update in real time as new conversations come in.

Customization & branding

Is there a Help Center for self-serve answers?

Yes (Basic and above). Write knowledge-base articles in the panel and they surface right inside the widget — customers can search and read them before ever opening a conversation, which deflects the easy questions. Articles are grouped into collections, searchable, and you pick the overlay branding so it matches the rest of your site.

Can I write custom CSS or build my own theme?

On Basic and above the Appearance panel exposes a Custom CSS slot that's injected into the widget shadow scope. We expose stable class names (.ec-bubble, .ec-author, .ec-header, etc.) so your rules survive minor releases. You can also save themes as named presets and reuse them across inboxes or projects.

Can I send proactive or outbound messages?

Two options. A static welcome message renders once when the widget loads (everyone sees it). Proactive campaigns (Basic and above) are targeted — trigger a message a few seconds after a visitor lands, on a specific URL, or for a known contact, optionally with a link or a CTA that opens a conversation. Both are configurable per inbox, so your checkout and your docs can greet customers differently.

Can customers rate the support they got?

Yes. Turn on CSAT (Basic and above) and after a conversation is resolved the customer is asked to rate it — good, okay, or bad — with an optional comment. Scores roll up per agent and per inbox in the Analytics tab so you can see who's delighting customers and spot threads that ended badly. You control the wording and when the prompt fires.

Can I remove the "Powered by HelpBird" footer?

Yes — the white-label toggle is on Basic and above. Flip it in Appearance and the footer disappears from every widget in the project. The widget keeps a tiny version selector in browser dev-tools (so we can debug your tickets) but customers see no branding.

Integrations & AI

Does it work on Shopify, Wix, and WordPress?

Yes. It works the same on Shopify, Wix and WordPress. On Wix, WordPress, Squarespace, or any custom site, paste our one-line script into your theme's header and the widget appears everywhere. The same install works across your whole domain, so support is live on every page in minutes.

Can it notify Slack / Zapier / my CRM?

Yes. New conversations and replies post straight to a Slack channel so your team sees them without watching the inbox. For everything else, webhooks (Pro and above) let you configure a URL + shared secret per project and we'll POST signed JSON on conversation_created, conversation_assigned, and conversation_updated — wire it to Zapier or your CRM. See docs →

Can AI auto-reply to customers for me?

Yes (Pro and above). Enable AI auto-reply in Project → AI and point it at your Help Center articles plus a short policy snippet. It answers common questions instantly — drafting a reply for an agent to approve, or sending automatically when no agent is online — and hands off to a human the moment it's unsure or the customer asks. Responses are rate-limited per contact and every answer is logged in the audit trail.

History & analytics

Can I search past conversations?

Yes — every conversation is kept with its full public replies, internal notes, assignments, and status changes. Full-text search works across all inboxes in a project, and you can filter by contact, agent, tag, or date range, so you can pull up a past refund, a known bug report, or everything a given customer has ever asked in seconds.

Can customers see when an agent is online?

Yes. When a teammate is available the widget shows live agent presence — avatars and a "We typically reply in a few minutes" line. Outside your business hours it switches to your away message and an expected reply time, so customers always know whether to wait or leave their email. Presence updates the moment an agent goes online or away.

What analytics do I get out of the box?

The Analytics tab shows conversation volume, first-response and resolution times, SLA breach rate, CSAT scores, and per-agent and per-inbox workload. All charts are filterable by inbox, tag, and date range, and downloadable as CSV.

Privacy & data

What happens to image metadata in file attachments?

When a customer or agent attaches an image, we strip EXIF (GPS, camera serial, capture timestamp) before storage and serve a resized version through our CDN. Decompression bombs and oversize files are rejected at the boundary. The original is never reachable from a public URL — only the sanitized re-encode.

How does GDPR delete work for a contact?

From a contact's profile you can delete them on request, or the contact can delete their own account from the profile menu if signed in. We anonymize their past conversations (name becomes (deleted), photo cleared, custom attributes and identity wiped), tombstone the contact, and store a one-way hash of the email so the record can't silently re-link later. The action is irreversible and confirmed via email.

Can I delete my admin account and all project data?

Yes. Profile → Delete account cancels any active Stripe subscription, terminates every project (the widget will refuse to load), purges inboxes, conversations, contacts, saved replies, themes, webhook configs, and your auth records within 30 days. Invoices stay (legal requirement) but are anonymized. Email us if you need an export of your data before deletion.

Billing

Is there a free trial?

Yes — every new account gets a 15-day free trial with full Pro features enabled. No card required to start. When the trial ends, the widget keeps working on the free Starter tier (which never expires); paid features simply disable until you pick a plan. We never auto-charge a card you didn't put in.

Can I change plans later?

Yes — upgrade, downgrade, or cancel anytime from Profile → Subscription. Pro-rated billing for upgrades; downgrades take effect at the next billing cycle and gated features auto-disable.

What payment methods do you accept?

All major credit cards via Stripe. Invoices are available in Billing & invoices.

What happens if a payment fails?

A 7-day dunning window: we email you when a charge fails and again at days 3 and 6. Paid features stay on so your support stays uninterrupted while you sort it out. If the card still hasn't been fixed on day 7, the plan auto-suspends to Starter (your data and config stay intact) and you can resume by updating the card under Profile → Subscription.

Contact Avg first reply ~6h

Open a ticket

A team member will get back to you within 24 hours on business days.

We never share your message. Privacy policy.
Try the chat — it's right here 👇