Skip to main content
When a field tech scans a biomedical device or IT asset, Forager confirms their physical location matches the asset’s CMDB record. This guide connects that confirmation event directly to Freshservice — so every successful scan updates the asset’s location in Freshservice automatically, with no manual entry. Choose this approach if your organization uses Freshservice for IT Asset Management and wants physical location data to stay current without extra admin work.

What happens

The update happens within seconds of the scan — before the tech has left the room.

Freshservice setup

Step 1 — Create a dedicated API user

Create a Freshservice agent account that the integration will authenticate as. Using a dedicated account makes it easy to audit integration activity and revoke access without affecting human users.
  1. Go to Admin → Agents → New Agent
  2. Set:
    • Full name: Forager Integration
    • Email: forager@yourcompany.com (a real address you control)
    • Role: IT Agent (minimum required for asset writes)
  3. Save and copy the agent’s API key from Profile Settings → API Key
Do not use an admin account for the integration. The IT Agent role is sufficient and limits the blast radius if credentials are ever compromised.

Step 2 — Create custom fields on your asset type

Freshservice’s native location field is a hierarchical reference — it doesn’t accept freeform text. The simplest path is to add four custom fields to store Forager data directly.
  1. Go to Admin → Asset Management → Asset Types
  2. Select your primary asset type (e.g. Computer, Medical Device)
  3. Go to the Fields tab → Add Field
  4. Add these four fields:
Note the field name (not label) for each — it will look like forager_location, forager_room, etc. You’ll need these exact names in the proxy.
If you use Freshservice’s native location field on a per-asset basis, you can omit Forager Location and instead have the proxy do a location lookup by name. This adds complexity — the four custom fields approach is simpler and works with Freshservice’s standard plan.

Proxy deployment

The proxy is a lightweight serverless function. It sits between Forager and Freshservice, receives the webhook payload, looks up the asset by tag, and calls the Freshservice API to update the record.
  1. Create a new directory and initialize a project:
  1. Create api/forager.js:
  1. Create .env (for local testing only — never commit this):
  1. Deploy to Vercel:
Copy the production URL (e.g. https://forager-freshservice-proxy.vercel.app).
  1. Set environment variables in the Vercel dashboard: Project → Settings → Environment Variables. Add FS_DOMAIN, FS_API_KEY, and SHARED_SECRET.

Option B — AWS Lambda (Node.js 20.x)

Use the same handler code above. Set the three environment variables in the Lambda function’s configuration. Use an API Gateway HTTP API trigger and copy the invoke URL as your webhook endpoint.

Forager configuration

  1. Go to Dashboard → Settings → WebhooksAdd Webhook
  2. Fill in:
  1. Click Add Webhook. The webhook fires on every attestation from this point forward.

Testing

Send a test payload to your proxy to verify the Freshservice update works before relying on real scan data:
Expected response:
Then open the asset in Freshservice and confirm:
  • Last discovered at is updated
  • Forager Location custom field shows Memorial Hospital / Floor 3 / Biomedical Storage
  • Forager Confirmed By shows Maria Ortega

Troubleshooting


What your team gains

Every scan a biomedical or IT tech performs while working a ticket automatically updates Freshservice — with no dedicated inventory walk. After 30 days of normal field operations, the vast majority of active assets will have current, attestation-backed location data in Freshservice. Before your next Joint Commission or ISO 55001 audit, export the Freshservice asset list instead of scheduling a manual walkdown.