Skip to main content
Connect a Minut sensor to Seam, configure its noise thresholds, and receive an event when a threshold is triggered. Your application decides whether to show an alert or notify staff. The event reports a noise condition, not a recording of the conversation. For a real device, complete the Minut setup guide. Create a Seam account and get an API key to start with the virtual sensors used below.

1. Install Seam SDK

Seam provides client libraries for many languages, such as JavaScript, Python, Ruby, PHP, and others, as well as a Postman collection and OpenAPI spec.
Once installed, sign-up for Seam to get your API key, and export it as an environment variable:
This guide uses a Sandbox Workspace. Only virtual sensors can be connected. If you need to connect a real Minut sensor, use a non-sandbox workspace and API key.
To control your Minut sensor via the Seam API, you must first authorize your Seam workspace against your Minut account. To do so, Seam provides Connect Webviews: pre-built UX flows that walk you through authorizing your application to control your Minut sensor.

Create a Connect Webview

Authorize Your Workspace

Navigate to the URL returned by the Webview object. Since you are using a sandbox workspace, complete the login flow by entering the Minut sandbox test accounts credentials below: Seam Connect Webview flow to connect Minut account with Seam

Get the New Webview

After you complete the login above, you’ll get an event for connected_account.created if you set up a webhook handler. Otherwise you can just poll for the webview until its status changes, as shown below:

3. Retrieve Minut Noise Sensors

Minut noise sensors appear with the device_type "minut_sensor". Read the returned properties to inspect the sensor’s current state.

4. Configure thresholds and receive noise events

Minut supports a regular noise threshold and an optional quiet-hours threshold. Configure the thresholds using the property’s time zone, then subscribe to noise_sensor.noise_threshold_triggered. You can also list events to reconcile what happened. Use the complete receiving application to verify signatures and store one pending alert per event in a durable database. It acknowledges only after storage and handles repeated deliveries, including after a restart. The payload includes event_id, workspace_id, device_id, occurred_at and event_type. Threshold details and minut_metadata may provide additional context. Follow the current event contract rather than relying on a sample’s optional provider fields.
JavaScript

Test in a sandbox

Set MINUT_DEVICE_ID to the virtual sensor you connected. Verify the workspace is a sandbox before calling the simulation endpoint.
JavaScript
Check that the event reached your webhook and created one pending row. Replay the delivery and restart the receiver to check durable duplicate handling. This tests a simulated event delivered through the real webhook path; it does not test sound detection on a physical Minut sensor. Delete a temporary test webhook when finished, using its returned webhook_id. Keep your production webhook configured for ongoing events.

Next Steps

Now that you’ve completed this guide, you can try to connect a real Minut device. To do so, make sure to switch to a non-sandbox workspace and API key as real devices cannot be connected to sandbox workspaces. If you have any questions or want to report an issue, email us at support@seam.co