What are you looking for?

Get help straight from the team at Groove

Setting Up Your Custom Profile App

Advanced Settings

Setting Up Your Custom Profile App

Display custom data about your customers in the right sidebar of your conversations in Groove

Last updated on 09 Apr, 2024

The Custom Profile integration allows you to display internal data and links next to any conversation in the sidebar. To enable it, navigate to: Settings (under your profile icon) → Custom Profile, and toggle it on:

Image

 

Image

 

The Custom Profile requires four things to function properly:

  1. An HTTP/HTTPS webhook URL on your server that the Groove servers can call

  2. For the webhook to return valid JSON

  3. For the JSON keys to not include any spaces

  4. An HTML template to display next to every ticket

After installing, you'll need to tell us exactly what you want us to display and how you want it to look:

Image

Headline

Allows you to customize the text above your Custom Profile. 

HTML Template

This is where things start to get fun. After we've fetched custom attributes from your webhook, you can render them directly on the template page using a Liquid template. To insert an attribute into your HTML, wrap it in double curly brackets like so:  `Name: {{preferred_name}}`.

Note: There are a few reserved fields which Groove will always override:

  • `:name`  (of your custom profile)

  • `:status` (of the user in Groove)

  • `:email` (of the user)

  • `:first_name` (of the user)

  • `:last_name` (of the user)

  • `:full_name` (of the user)

Please use different field names in your webhook payloads to avoid collisions.

Inserting variables is just the beginning, though. We highly recommend checking out the Liquid docs. Especially using if statements around custom attributes that aren't available for all customers and filters to format text. Have a look at a part of the template we use in our Groove account to see what's possible:

Image

Webhook URL

We'll fetch your custom attributes from your server using this URL after every new message from your customers.  We will use a GET request with `email` and `api_token` parameters. You should check if the given `api_token` matches the one from your account, and return non-nested JSON for the given email address.

Note: API token passed is the one from your API settings page

Image

Testing

Prior to saving, you should provide a real customer's email address and test that your webhook and Custom Profile are working as expected. We will fetch the details from your server and render an example.

 

Image

End Result

Once everything looks the way you want and is saved, all new conversations will include your Custom Profile on the right side of the screen.

JSON Examples

JSON should be returned as a single level hash.  This is correct:

{  "id": 3,  "created_at": "2013-06-16 12:36:36 Z",  "current_sign_in_at": "2013-08-16 12:36:36 Z",  "first_charge_created_at": "2013-06-26 12:36:36 Z",  "last_charge_amount": "$150.00",  "sign_in_count": 23,  "stripe_customer_token": "cus_XdlkjDfljdl"}

Nested keys will not work. This example is incorrect:

{  "stripe": {    "customer_token": "cus_XdlkjDfljdl"  }}

Custom Profile Data Fetching

By default, the Custom Profile data is fetched every time you receive an incoming message from an email address. You can manually refresh the data by clicking the button at the top of your Custom Profile.

Image
Was this page helpful?
Previous

Applying SMTP Settings To Your Inbox

Next