Skip to main content

The installation badge

Every website in your dashboard shows a real-time installation status badge. It updates automatically β€” no refresh needed. The badge polls every 15 seconds. After you paste the script and visit a page, it will turn green within seconds.

Manual verification

If the badge stays amber, verify the script is correctly installed:

1. View page source

In any browser, press Ctrl+U (Windows) or Cmd+U (Mac) to view the raw HTML source. Search for openhermit β€” you should see:
Common issues:
  • The script is only on the homepage, not all pages β€” add it to your layout/template
  • The data-api-key is empty or wrong β€” copy it again from the dashboard
  • The script URL is wrong β€” it must be https://openhermit.com/script.js

2. Check the browser console

Open DevTools (F12) β†’ Console. The script logs a warning if something is wrong:
If you see no OpenHermit messages at all, the script file itself may not be loading (check the Network tab for a failed request to script.js).

3. Check network requests

In DevTools β†’ Network tab, filter by openhermit. You should see:
  • A request to script.js (status 200)
  • A POST to /api/ping (status 200)
  • A POST to /api/actions/sync (status 200)

Forms not detected?

If the script is confirmed active but no actions appear in your dashboard: The form might be on a different page. The script only detects forms on the current page. Make sure you visit the specific page containing the form β€” not just the homepage. The form might be loaded dynamically. React, Vue, and Angular apps often render forms after the initial page load. The script has a MutationObserver that handles this, but there can be a short delay. Wait 2–3 seconds after the form appears before checking. The form might not look like a form. If a β€œform” is built entirely with div and onClick handlers (not real <form> and <input> tags), the script can’t detect it. Consider adding data-mcp-action attributes manually. Third-party widgets need special handling. Calendly, Typeform, HubSpot etc. are detected by checking for their JavaScript objects or DOM elements. If a widget is embedded via a plain iframe with no identifying attributes, it won’t be detected.

Adding detection manually

For any element the script can’t auto-detect, add WebMCP attributes directly in your HTML:
The script will pick up these attributes and include the action in the next sync.