Skip to content

Projects

A project is the container for everything Patchrooms collects from a single app or site. Every report the widget sends, every channel it can be routed into, and the project key you embed all belong to one project.

Projects belong to an organization. Anyone who is a member of the organization can see every project inside it — access is granted at the organization level, not per project. The top bar in the dashboard has an organization switcher, and you can create a new organization at any time (you become its owner).

This means you don’t share or transfer individual projects. To give a teammate access to a project, add them to the organization that owns it.

Each project has a unique project key that starts with pr_ (for example pr_a1b2c3). The key is what ties an embedded widget back to its project — it travels in the loader URL and on every report sent to the ingest API.

<script src="https://room.patchrooms.com/v1/patchrooms/pr_xxx.js"></script>

The project key is public by design. It identifies which project a report belongs to; it does not grant access to read reports. Reading reports always requires a signed-in dashboard session or a separate API key.

A project can restrict which websites are allowed to send reports through the allowed origins list. When the list is non-empty, the ingest API checks the request’s Origin header against it and rejects requests from anywhere else. Leave it empty to accept reports from any origin (useful while you’re developing).

Two project-level settings shape how the widget behaves on the page:

  • urlPatterns — the URLs (or URL patterns) where the widget is expected to run.
  • defaultChannelKey — the channel a report lands in when nothing else routes it. New projects start with this set to bug.

Channels and routing are covered in detail in Channels.

When you open the embedded widget, you’re opening a room — the multi-modal thread where a reporter assembles text, screenshots, voice notes, and on-page selections before sending. “Room” is just the widget-side name for that thread; everything a room produces is stored as a report on its project.