Skip to content
Feeblo Docs
Esc
navigateopen⌘Jpreview
On this page

Identifying users

The identity object for Feeblo.identify: fields, companies, and custom attributes.

A name and email on every piece of feedback makes it actionable. Identify calls attach a user to everything they do in the widget.

The identity object

UserIdentity takes these fields:

Field Required Purpose
id yes Your user’s ID in your own system
email no Shown to your team on posts and replies
name no Display name
avatar no Image URL
customFields no Values mapped to the custom attributes you define in Feeblo
companies no Accounts or organizations: id, name, avatar, customFields
token no Signed JWT that verifies the identity; see Widget SSO

Calling identify without id throws an EmbedError with code INVALID_IDENTITY.

Identifying in your app

Feeblo.identify({
  id: "u_1",
  email: "ada@example.com",
  name: "Ada Lovelace",
});

Call it again any time the user’s details change. The last call wins.

Pass the identity as the user prop on FeebloProvider. Changes call identify on the live widget without remounting anything:

<FeebloProvider organizationId="org_123" user={currentUser}>
  <App />
</FeebloProvider>

Custom fields

Custom fields let your team slice feedback by facts you already know about users and their companies: plan tier, industry, seat count, whatever matters to you.

They are configurable. You define custom attributes for contacts and companies in Feeblo, then send values under customFields, keyed by attribute:

Feeblo.identify({
  id: "u_1",
  email: "ada@example.com",
  name: "Ada Lovelace",
  // Optional. Keys must match custom attributes you defined in Feeblo.
  customFields: {
    plan: "enterprise", // your "plan" attribute
    role: "admin",      // your "role" attribute
  },
  companies: [
    {
      id: "c_1",
      name: "Acme",
      customFields: {
        industry: "SaaS",     // your company-level "industry" attribute
        seats: 250,
      },
    },
  ],
});

Two rules the server applies:

  • Values sent under keys with no matching definition are ignored.
  • A definition marked required must be present in every identify call, or the identity fails validation.

Identity and submissions

Users who have not been identified can still open the widget and submit. Their post arrives unattributed. When you want posts tied to a verified user, hand out signed tokens. Widget SSO covers signing and automatic board login.

Next steps

Was this page helpful?