Identifying users and companies
Please note that this feature is only available on the Pro plan.
To make the most of Noora, it is important to be able to evaluate which users and companies are providing you with feedback and insights. It is possible to provide your Noora workspace with this information in one of two ways:
- Authenticate users via SSO tokens when embedding or linking to your Noora workspace. Read more here.
- Identify users from your back-end using an API token. This article will show you how to achieve this.
If you need help implementing either SSO tokens or identifying user and company data from your back-end servers, please get in touch with us and we will help you!
Step 1: Generate an API token
Sign-in to your Noora workspace as an admin, and go to Settings -> Integrations. From here, enter a name for the SSO token you will be generating (suggestion: "Identify users"). Click on Generate API token. You will then be able to copy and paste the token. Please note: keep this token in a secure place as it can be used to access and modify data in your Noora workspace!
Step 2: On your back-end implement identify calls for your users
It is important to only use the token you've generated on your back-end servers. It should not be leaked to your client code or other public places. With this in mind, you should now implement a GraphQL API call to the Noora servers whenever you wish to update or identify a user. Good examples of when to do this:
- A new user has signed up to your service and you want to make it simple to find them and tag feedback to them.
- A user changes plan and now spends more monthly recurring revenue on your service. Their existing feedback and insights is now more valuable to you.
The following is an example of a Node (Javascript) call to the GraphQL API. You can also make a call using CURL.
async function identifyUser(user) { const data = { query: `mutation UserIdentify($input: UserIdentifyInput!) { userIdentify(input: $input) { success } }`, variables: { input: { email: user.email, name: user.name, avatarUrl: user.avatarUrl, // optional companies: user.companies.map((user) => ({ externalId: company.externalId, // required, the string ID (e.g. "1") from your back-end that you will use when updating this company in the future name: company.name, // required avatarUrl: company.avatarUrl, // optional createdAt: new Date(company.created), // optional monthlySpend: company.spend, // optional (recommended), number (e.g. 500 or 500.1) })) } } }; const apiResponse = await fetch("https://api.noorahq.com/graphql", { method: "post", body: JSON.stringify(data), headers: { "Content-Type": "application/json", "Authorization": `Bearer ${apiToken}`, }, }); }
If the call is successful, the response will have statusCode 200 and success will equal true.
Step 3: You can now sort, filter and view company data in Noora
Every time you update a user's companies, the MRR for all of the insights and feedback they have provided will be automatically updated in your Noora workspace. Here's an example of how it will look:
If you need help implementing either SSO tokens or identifying user and company data from your back-end servers, please get in touch with us and we will help you!