How to Automate Vendor Registration on Etimad (2025)
Meta description: Step-by-step guide to reliably automate Etimad vendor registration using the Anchor Browser SDK—handles OTP, pop-ups, timeouts, and file uploads with audit logs.
TL;DR
Use Anchor Browser’s verified Chromium sessions + Playwright helpers to script Etimad’s vendor-registration flow with retries, OTP handling, and audit trails. Copy the code, swap selectors, and run.
Prerequisites
- Anchor Browser account & API key (project-level).
- Node 18+.
- Dedicated proxy for your region (recommended).
- Etimad account with the right role; comply with portal terms and all procurement rules.
npm i @anchorbrowser/sdk playwright
Create .env:
The approach (reliable pattern)
- Start a verified browser session (humanized™ fingerprint, bot-check safe).
- Navigate & log in (SSO/OTP with human-in-the-loop or SMS inbox integration).
- Fill the registration steps via resilient selectors (labels/roles, not brittle CSS).
- Upload documents with chunked upload + retry on 413/timeout.
- Submit & capture evidence (screenshots, HTML snapshot, network log).
- Emit audit: who, when, which fields were touched (no secrets).
Code: Etimad vendor registration with Anchor SDK
Notes
- Replace placeholder selectors with the current labels in Etimad.
- The OTP handler below is an example—swap in your SMS/Email source as needed.
- Uses Playwright routed through Anchor’s verified session.
Troubleshooting (quick)
- OTP delays/timeouts → increase
keepAliveSeconds, allow manual pause viaanchor.human.confirm(). - Upload fails / 413 → ensure file size under limit; fall back to chunked upload if portal supports it; retry with backoff.
- Selector breaks after UI update → prefer
getByLabel,getByRole, and text-based locators; avoid brittle#ids. - 429 / anti-bot friction → use Anchor verified sessions, humanized timings (
page.waitForTimeout(±random)), stable IP/proxy, and retry on 429 with jitter.
Compliance & audit
- Respect the portal’s terms and applicable procurement regulations.
- Store only business data; keep OTP/secrets in your vault.
- Enable Anchor’s action log + artifact snapshots for audits.
FAQ (short)
Can this run headless? Yes; verified sessions work headful or headless. Prefer headful for flaky flows.
How do we pass OTP without a human? Use your SMS/Email provider API; feed the code into typeByLabel (or keep human-approval).
Will this survive UI changes? Use label/role selectors and keep a nightly smoke test; update selectors via a small map.
CTA: Want this as a ready template (with current selectors)? Spin up an Etimad Vendor Registration session template in Anchor Browser and plug in your env vars.