ImmenzoWidget
Widget for your website

Documents in,
data out. Automatically.

Paste one snippet into your page. Users upload documents — AI reads, extracts, and prepares the data. CSV ready to download, auto-fill into your web forms, or send to your system.

Smart OCR One-click CSV Auto-fill Intelligence
Install on my website

What can it do?

Smart OCR

Users upload photos of receipts, scanned PDFs, or screenshots. The widget reads text from images automatically. Supports invoices, receipts, reports, forms — any document type.

Any document

Instant CSV

Download extracted data as CSV with one click. Each document becomes a row, columns adjust automatically. Ready for Excel, Google Sheets, or your accounting system.

One click

Auto-fill Intelligence

AI matches extracted data to your web form fields automatically. Vendor name, invoice number, date, total — filled in without manual mapping. Works with both Indonesian and English field labels.

Any form

Install in 30 seconds

1

Copy the snippet below

Replace imz_xxx with your API key from the Immenzo team. That's the only required field. Colour, position, and size can be configured later.
embed.html
<script>
  window.Immenzo = window.Immenzo || function(){(window.Immenzo.q=window.Immenzo.q||[]).push(arguments)};
  Immenzo('init', { apiKey: 'imz_xxx' });
</script>
<script async src="https://widget.immenzo.com/widget/loader.js"></script>
2

Paste before </body>

Open your HTML file. Find </body> at the very bottom. Paste the snippet right before that tag. Save the file.
3

Refresh — done

Open your website in a browser. Within 1 second, the widget button appears in the bottom-right corner. Click to upload a document — OCR, CSV, and auto-fill are ready.

Blue floating button in the bottom-right corner.

Click the button → widget panel opens.

Widget not showing? See the FAQ.

i

Configuration (optional)

All options go into Immenzo('init', { ... }). Only apiKey is required.
Option
Description
apiKey
Required. API key from the Immenzo team. Format imz_....
primary
Button colour (hex). Default #2D4FBF.
position
right-bottom (default) or left-bottom.
docType
Document category (e.g. invoice, receipt). AI auto-classifies if omitted.
onSubmit
Callback function(payload) fired after data is submitted to your system.

Production-ready security

API key is safe in HTML

Like Stripe's publishable key — it only identifies your tenant, it can't access sensitive data.

Widget runs in an iframe

Widget UI is isolated in its own iframe. The host page cannot read widget contents except via postMessage, which you control.

AI key stays on the server

The LLM key lives on the Immenzo server, never sent to the browser. Your pages never touch any secret.

Frequently asked questions

Widget not showing after installation?
Open the browser console (press F12 → Console tab) and refresh. Common causes:
  • API key is missing or incorrect.
  • The snippet isn't placed right before </body>.
  • A Content Security Policy (CSP) blocks external scripts → add widget.immenzo.com to script-src.
Button shows but the panel is blank?
The loader loaded, but the widget iframe failed. This is usually caused by a corporate firewall. Try accessing https://widget.immenzo.com/widget/widget.html directly → if it fails, ask your network team to allowlist that host.
How do I change the button colour or position?
Add position: 'left-bottom' or primary: '#FF6A00' inside Immenzo('init', { ... }). See the config table above.
Where do I get an API key?
Contact the Immenzo team at immenzo.com. The API key is sent to your workspace admin email and can be rotated at any time.
Is my document data secure?
Documents are processed on the Immenzo server and are not stored permanently. Extracted data is sent only to your browser. No data is shared with third parties.