# Userport > Userport (userport.io) is customer support and outbound messaging software for SaaS founders — live chat widget, shared inbox, help center and email sequences in one place, with an MCP server so Claude or ChatGPT can read and answer conversations. ## Product - [Home](https://userport.io/): Userport is customer support and outbound messaging for SaaS founders: live chat, a shared inbox, a help center and email sequences. Free plan. - [Live chat widget](https://userport.io/product/widget): Add a live chat widget to your website or web app with one script tag. Visitors search your help articles or start a conversation. - [Shared inbox](https://userport.io/product/inbox): One shared inbox for live chat and email. Forward your support address from Gmail or Outlook and answer with the customer's history beside it. - [Help center](https://userport.io/product/help-center): A help center on your own domain: articles in collections, full-text search, a contact form and a changelog, searchable from the chat widget. - [Pricing](https://userport.io/pricing): Free $0, Starter $12, Team $49, Advanced $69 a month per workspace. Outbound messages and sequences on every plan; no credit card for the free plan. - [About](https://userport.io/about): the company, the former name HelpMate, and the unrelated products with a similar name. - [Support articles](https://support.userport.io/): how to set up and use Userport. - [MCP server](https://userport.io/mcp-server): connect Claude, Cursor or any MCP client at `https://mcp.userport.io/mcp` — streamable HTTP with OAuth 2.1; read and answer conversations, author and launch outbound messages and sequences. - Contact: support@userport.io ## SDK The rest of this file documents the JavaScript SDK you embed on your site — installing the widget, identifying signed-in users, sending the contact properties that outbound audiences and the directory are built on, and the help center. Its public names still say `helpmate` (`helpmateSettings`, `window.$helpmate`, the `helpmate:ready` event): they are the current API of Userport and keep working. ## SDK quickstart Paste the loader before `` in a layout that renders on every page: ```html ``` Then identify signed-in users, so a reply still reaches them after they close the tab: ```html ``` Four rules behind most broken installs: 1. `window.$helpmate` exists only after the `helpmate:ready` event. Calling `setUser` before it is a silent no-op. 2. At least one of `email`, `name`, `avatar_url` must be present, or `setUser` throws before it sends. 3. Call `$helpmate.reset()` on logout, or the next person at that browser inherits the previous visitor's conversation. 4. Sign the identifier server-side (see Identity verification). Unverified, the same person on a second device starts a second contact. ## SDK docs - [Installation](https://userport.io/docs/installation.md): Add the loader script, confirm it booted, and configure the launcher. - [Live chat](https://userport.io/docs/live-chat.md): The conversation surface: starting a chat, attachments, conversation context, and the email fallback that only works if you sent an address. - [Identify users](https://userport.io/docs/identify.md): setUser(), every field it accepts, the fields it silently ignores, and when to call it. - [Contact properties](https://userport.io/docs/properties.md): custom_attributes: the supported keys, the value formats, and what happens to a key nobody defined. - [Companies](https://userport.io/docs/companies.md): There is no company payload: company_name is an identify field, everything else is a property. - [Identity verification](https://userport.io/docs/identity-verification.md): HMAC-SHA256 of the identifier with the workspace secret; required to attach an identify call to a contact that already exists. - [Help center](https://userport.io/docs/help-center.md): Article and collection URLs, putting it on your own domain, locales, and the article card inside the widget. - [JavaScript API](https://userport.io/docs/javascript-api.md): Full reference for window.$helpmate — methods, window events, and when each is safe to call. ## Full SDK documentation - [https://userport.io/llms-full.txt](https://userport.io/llms-full.txt): every page above, concatenated, in markdown