Learn how to easily create a customized HubSpot CRM Card without any coding with APIANT.
Target Audience: HubSpot Admin
Understanding HubSpot CRM Cards
HubSpot CRM cards are dynamic tools that enhance your workflow by providing quick access to essential information and interactions from various sources, directly within HubSpot. Designed to seamlessly integrate with external apps and the broader HubSpot ecosystem, these cards allow users to view key data such as support tickets, billing information, or custom application insights without leaving their CRM. Essentially, they interact with APIs.
For this tutorial we will build a CRM Card that pulls weather information for your contact and links to a weather map using the OpenWeatherMap.org API.
Creating your own HubSpot Public App
Before you can create a custom CRM card, you need to create your own HubSpot public app. You don't have to list it publicly if you don't want to, but you can! 🤑 This will allow you to connect your client's HubSpot Hub to the APIANT platform.
To create your own public app, follow these simple steps:
If you don't have a HubSpot developer account, create one at developers.hubspot.comYou want to build An App:
Click Manage Apps
Click Create App in the upper right
Give the App a name, a description and a logo if you'd like, then click on Auth
Enter your Redirect URL. If you are on a HubSpot Admin Free or HubSpot Admin Pro plan on APIANT, you can enter apiant.com/oauth. If you are on a tenant or dedicated plan, enter your server's URL. If you don't know it, enter your domain name for now, and the system will tell you when you connect the app to the APIANT server at which point you can go back and enter it.
Enter your Scopes. Your APIANT account will allow you to do a lot more than just CRM Cards! (Like building complete API Apps). So these are the scopes (see below) we recommend based on the 24 triggers and 73 actions we currently have available (as of March 17, 2024).
Scopes determine the permissions your app has to access data or perform actions in HubSpot. People installing your app must approve the scopes it requests. It's strongly encouraged to require as few scopes as possible for your app's functionality.
Save your App at the bottom of the screen:
Start to build the automation in APIANT to get your Data Fetch URL
Do you need an APIANT account? Click Here to apply for a free HubSpot Admin account.
If you prefer to install the automation instead of building it from scratch, you can install it from here.
Let's now start building the automation in your APIANT account that will interact with a CRM Card.
In the Automation Editor, click Create an Automation:
Click on the Trigger cross and choose Find a trigger:
Search for HTTP Request and select the trigger called HTTP request received (instant)
Click the + to enter a new Query parameter
Enter hs_object_id as a parameter
Click Fetch Data Fields
The Web Service URL you need to paste in HubSpot will then show. Click the copy icon to copy it to your clip board.
Click Save Trigger at the bottom right of the window:
Add a temporary action in order to save the automation called Uppercase:
You can leave the Uppercase action empty, we will remove it when we re-edit the automation.
Give the automation a name and save it:
We now have everything we need to create the CRM Card in HubSpot. Switch back to your HubSpot Developer account to create the card:
Creating a CRM Card in your Public App
Now that you have your HubSpot public app set up, it's time to create a CRM card. This will define the layout and content of your card.
Click CRM cards under Features:
Click Create CRM Card
Enter your CRM Card Name. We'll call ours Weather. This will be a Contact record, and we will just send the contact record hs_object_id from HubSpot to your APIANT account.
Paste your Web Service URL from your APIANT automation in the Data fetch URL.
Click on Card properties and enter these properties by clicking Add property:
Max sure to match the property type for each as seen above.
That's it! Click Create to create your CRM card:
Connecting your New HubSpot Public App to your APIANT account
Before we finish building the automation, we need to connect your new HubSpot Public App to your APIANT account.
Click Connections in the menu
Click the Connect App button
Choose HubSpot
Choose My Public App
Follow the instructions on the screen (Open your HubSpot developer console, etc...) - Click OK
You will now get your URL to enter in the Data Fetch URL in your Public App
Copy your Client ID and Client Secret and paste them in the dialog box:
Select all the Scopes from the Public App and copy them to your clipboard:
Paste them in the OAuth Scopes fields and click OK:
Choose which HubSpot Account you want to connect your Public App to and click Choose Account:
Approve the connection and your Public App should now be connected to your APIANT account:
Finish building the automation in APIANT to interact with your CRM Card
Edit your automation in APIANT:
Then click and remove the Uppercase action which was just a placeholder to save it.
All we have now in the automation is a trigger (Web Service):
For our example, we now need to add the following to receive data from HubSpot, fetch data from the openweathermap API and return it all to HubSpot:
-
Retrieve the contact from HubSpot to get the ZIP Code
-
Convert the ZIP Code to Geocode with openweathermap
-
Get current weather conditions from openweathermap based on the Geocode
-
Populate the CRM Card properties with the openweathermap data
-
Build a menu option for the CRM Card to link to the weather map
- Return the JSON to the HubSpot CRM Card
Let's get started!:
1. Add the HubSpot action called Get contact:
Map the hs_object_id from the trigger in the Contact ID field:
2. Add the action called Geocode by postal code
Map the Zip code from the HubSpot contact in the Postal Code field in the Geocode by postal code action. If you prefer to use the select via diagram tool to do this (I do!), this is how:
3. Add the Get current conditions action from Openweathermap now and map the longitude and latitude from the previous action:
4. Add the HubSpot action called CRM Card: set display values:
Add the 5 properties we created in the CRM card and map (using the circled +) to the respective values coming from the action above Get current conditions.
CRM card property name | Mapped data from openweathermap |
conditions | weather description |
temp | main temp |
temp_max | main temp max |
temp_min | main temp min |
wind | wind speed |
Notice that these are the same properties we added in our CRM Card:
Choose what you want to call the card, here I call it "Weather conditions for [mapped first name]". This is where this will show in the card:
6. Now let's add the final HubSpot action called CRM Card: append iframe menu option:
Map all the required fields in the action and save it.
CRM card: append iframe menu option field name | Enter / Map in the field |
CRM card JSON | Map: CRM card JSON from previous action CRM card: set display values |
Menu label | Weather Map |
URL | https://openweathermap.org/city/[id emiited from the action Get current conditions] This is what will pass the weather city id openweathermap's website in iframe |
Width | 1200 |
Height | 1000 |
7. Finally, add the action called Return HTTP response at the end of the automation to send all the data back to HubSpot:
Map the CRM card JSON emitted from the action above in the Response data and save the action.
Save the automation and turn it on. You're done! 🙌
Running and Testing your New HubSpot CRM Card
To test the card, simply refresh the contact in HubSpot and watch the automation run automatically:
Now you can build your own CRM Card with any logic and API...
Learn from others and share your creation with other HubSpot Admin on forum.apiant.com