Setup guide

Connect your website.

Bopmigo is a separate service. You don’t need RNBlocks to use it.

  1. Create your workspace

    Sign up with your email and a password. Name the workspace after your company or team.

  2. Add your website

    Give your project a name and add the full website address, including HTTPS. Add staging and localhost addresses separately if you use them.

  3. Install your script

    Copy the project-specific snippet from Installation into your website before the closing body tag. The project ID identifies the destination, but does not grant access to reports.

  4. Send a report and reply

    Open Feedback on your website. Review the screenshot and send a test report. In Bopmigo, open it, send a reply and return to your website to read the same conversation.

Capture and privacy

The widget captures the page before opening the conversation. Password fields, text inputs and elements marked data-bopmigo-private are excluded. People can hide additional areas or remove the screenshot before sending.

Cross-origin embedded previews, protected media and some canvas content cannot be captured by the website widget. If capture fails, text-only reporting remains available. Only the reviewed, flattened image is uploaded.

Technical context includes the page path without query parameters, available browser information, language, timezone and viewport. The host can provide app release and screen details. Do not supply secrets or private messages as custom context.

Reporting and replies

Reporter access is device-scoped in this MVP. Someone can return to their conversations in the same browser. Clearing browser storage removes that access. Verified cross-device identity and native SDK integrations are not available yet.

Drafts stay on the device until submitted. A failed send retains the draft, and retrying the same report does not create a second copy. A completely crashed page may need to be reopened before the widget can run.

Questions and screen guidance

Set project guidance in Project settings. Screen-specific guidance applies when the host integration supplies that screen name. The assistant asks at most one optional question; an unavailable assistant never prevents direct submission.

Create a workspace

Open Bopmigo from your code

After the script loads, window.Bopmigo is available. Listen for bopmigo:ready if you call it early.

<script src="https://bopmigo.com/widget.js"
  data-project="your-project-id" data-button="hidden" defer></script>

// Open it from your own button or after an error
Bopmigo.open()
Bopmigo.open({ type: 'problem', screen: 'Checkout',
  message: 'Payment didn’t go through. What happened?' })
Bopmigo.close()

// Show or hide the corner button
Bopmigo.showButton()
Bopmigo.hideButton()

// Attach who is reporting and anything useful
Bopmigo.identify({ id: 'u_42', email: 'ada@example.com', name: 'Ada' })
Bopmigo.setContext({ plan: 'pro', cart_total: 612 })

// React to what happens
Bopmigo.on('sent', report => console.log(report.id))
Bopmigo.on('open', () => {})
Bopmigo.on('close', () => {})

type is problem, change or idea. message replaces the first question (up to 160 characters). setContext keeps up to 20 short values, shown in the report’s details. Calls made before the script loads can be queued: window.Bopmigo = { q: [['open', []]] }.