Badges are a great way to demonstrate your contributions to the Community and level of expertise. Just start engaging in the conversations to earn new badges. Learn more.
Maximize your profile
Your community badges are also reflected on your Connect profile. Showcase your skills and grow your network in the Connect.com.
Josh has earned 45 badges!
HubSpot Platinum Partner
Feb 7, 2020
Earned by 4,759
You have achieved HubSpot Platinum Partner status!
HubSpot Gold Partner
Apr 7, 2017
Earned by 4,524
You have achieved HubSpot Gold Partner status!
HubSpot Diamond Partner
Aug 13, 2024
Earned by 4,302
You have achieved HubSpot Diamond Partner status!
HubSpot Certified Trainer
Mar 5, 2020
Earned by 65
You're a HubSpot Certified Trainer! Join the conversation and use your knowledge to help your peers grow with HubSpot!
Welcome to the Community
Feb 11, 2021
Earned by 689,001
Welcome to the HubSpot Community, we're happy to have you! Let's celebrate with your first community badge!
Thankful
Feb 11, 2021
Earned by 166,438
Kudos to you for sending upvotes to others!
Thankful (5)
Feb 11, 2021
Earned by 23,986
Kudos to you for sending upvotes to others!
Thankful (10)
Feb 11, 2021
Earned by 10,337
Kudos to you for sending upvotes to others!
Thankful (25)
Feb 11, 2021
Earned by 3,233
Kudos to you for sending upvotes to others!
Thankful (50)
Feb 11, 2021
Earned by 1,272
Kudos to you for sending upvotes to others!
Thankful (100)
Feb 11, 2021
Earned by 505
Kudos to you for sending upvotes to others!
Thankful (250)
Mar 1, 2021
Earned by 150
Kudos to you for sending upvotes to others!
Helpful
Feb 11, 2021
Earned by 89,383
Congrats on the upvotes - you definitely know your stuff!
Helpful (5)
Feb 11, 2021
Earned by 19,514
Congrats on the upvotes - you definitely know your stuff!
Helpful (10)
Feb 11, 2021
Earned by 9,530
Congrats on the upvotes - you definitely know your stuff!
Helpful (25)
Feb 11, 2021
Earned by 4,013
Congrats on the upvotes - you definitely know your stuff!
Helpful (50)
Feb 11, 2021
Earned by 2,203
Congrats on the upvotes - you definitely know your stuff!
Helpful (100)
Feb 11, 2021
Earned by 1,136
Congrats on the upvotes - you definitely know your stuff!
Helpful (250)
Feb 11, 2021
Earned by 373
Congrats on the upvotes - you definitely know your stuff!
Helpful (500)
Feb 11, 2021
Earned by 133
Congrats on the upvotes - you definitely know your stuff!
Helpful (1000)
Feb 26, 2021
Earned by 56
Congrats on the upvotes - you definitely know your stuff!
Helpful (2000)
Sep 8, 2023
Earned by 22
Congrats on the upvotes - you definitely know your stuff!
Conversationalist
Feb 11, 2021
Earned by 112,352
What's a community without great conversations? Thanks for keeping things lively!
Conversationalist (5)
Feb 11, 2021
Earned by 17,827
What's a community without great conversations? Thanks for keeping things lively!
Responder
Feb 11, 2021
Earned by 177,979
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (5)
Feb 11, 2021
Earned by 20,186
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (10)
Feb 11, 2021
Earned by 6,146
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (25)
Feb 11, 2021
Earned by 1,188
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (50)
Feb 11, 2021
Earned by 436
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (100)
Feb 11, 2021
Earned by 227
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (250)
Feb 11, 2021
Earned by 92
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (500)
Feb 11, 2021
Earned by 52
Thanks for helping others out with their questions, you make the community a great place to learn!
Responder (1000)
Feb 11, 2021
Earned by 35
Thanks for helping others out with their questions, you make the community a great place to learn!
Problem Solver
Feb 11, 2021
Earned by 5,002
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (5)
Feb 11, 2021
Earned by 482
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (10)
Feb 11, 2021
Earned by 311
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (25)
Feb 11, 2021
Earned by 185
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (50)
Feb 11, 2021
Earned by 125
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (100)
Feb 11, 2021
Earned by 76
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (250)
Feb 11, 2021
Earned by 34
Thanks for solving problems and sharing your expertise! Keep up the great work!
Problem Solver (500)
Nov 8, 2021
Earned by 15
Thanks for solving problems and sharing your expertise! Keep up the great work!
Community Champion
Feb 11, 2021
Earned by 121
You have joined the top tier of Community users and become a Community Champion! Congratulations!
Ideator
Oct 21, 2021
Earned by 29,071
Thank you for submitting an idea - we count on your feedback to make our products and services even better!
Brainstormer
Feb 11, 2021
Earned by 51,665
Thanks for feedback in the Ideas forum. We love hearing from you!
Brainstormer (5)
Feb 9, 2023
Earned by 4,618
Thanks for feedback in the Ideas forum. We love hearing from you!
//
//
//
//
//
(function($) {
//START END-USER CONFIGURATION
//------------------------------
//selectors for hover card triggers
var allHoverCardTriggers = '.author-name-link,.friend-list .friend a,.username a,.avatar,.user-avatar,.author-img, .authors a, .messageauthorusername a, a.lia-user-name-link, .js-latest-post-by-from a, .user-online-list li a, a.UserAvatar, .customUsersOnline a, #authors a,.dashboard-followers a.user-name, .dashboard-following a.user-name,.author-login-wrapper a, .hb-leaderboard a, .author-img-floated';
// Forward calling page's URL params to endpoint URL as well, helps with testing!
var params = (new URL(location.href)).searchParams;
var userApiUrl = '/plugins/custom/hubspot/hubspot/hovercardendpoint?' + ((params.set('user_id', '') == []._) && params.toString());
if($('.hover-card-container').length<1){
$('body').append('');
}
var cardWrapper = $('.hover-card-container');
var error = false;
var thisUserID = '';
var thisUserLogin = '';
var userLink ='';
var cardTimer;
var leaveTimer;
function mouseenter(Elem) {
var thisEl = Elem;
cardTimer = setTimeout(function(){
var docWidth = $(document).width();
var rightSide = false;
var userLink = thisEl.attr('href');
if($('.ViewProfilePage').length && $('img.lia-user-avatar-profile',thisEl).length){thisUserID = '';}
else if(thisEl.attr('href')=='#' || thisEl.attr('href')=='' || !userLink.match('viewprofilepage')){
return false;}
else{
var thisLen = (userLink).split('/');
thisUserID = (thisLen)[thisLen.length-1];
}
var thisCard = $('.profileCard[data-user='+thisUserID+']',cardWrapper);
var cardId = 'userProfileCard-'+ thisUserID;
var addAttr = thisEl.attr('aria-describedby',cardId);
var thisElTopOffset = Math.round(thisEl.offset().top+(thisEl.height()/2)+30);
var thisElbottomoffset = "auto";
var className = "";
var winHeight = $(window).height();
var elOffset = thisEl.offset();
var scrollTop = $(window).scrollTop();
var elementOffset = thisEl.offset().top;
var distanceTop = (elementOffset - scrollTop);
var distanceBottom = (winHeight + scrollTop) - (elOffset.top + thisEl.outerHeight(true));
var distanceLeft = Math.round(thisEl.offset().left);
var bodyHight = $('body').height();
var topParam = '';
var bottomparam = '';
var position = '';
var className = 'topArrow';
cardId
if(distanceBottom < 300 ){
if(distanceLeft < 59){
thisCard.removeClass('bottomArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
var thisElTopOffset = (thisElTopOffset)-(301); var className = 'bottomArrow'; thisCard.removeClass('topArrow');
thisCard.removeClass('leftArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
else{
if(distanceLeft < 59){
thisCard.removeClass('topArrow');
var className = 'leftArrow';
var distanceLeft = (distanceLeft)+(39);
var thisElTopOffset = (thisElTopOffset)-(150);
}else{
thisCard.removeClass('leftArrow');
thisCard.removeClass('bottomArrow').addClass('topArrow');
var distanceLeft = (distanceLeft)-(45);
}
}
if(thisCard.length && $('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length<1){
$('.profileCard',cardWrapper).hide();
thisCard.addClass(className);
rightSide?thisCard.addClass('rightArrow'):thisCard.removeClass('rightArrow');
thisCard.delay(0).css({'top':(thisElTopOffset),'left':distanceLeft,'bottom':thisElbottomoffset}).fadeIn();
} else {
var ajaxReturn = '';
//just in case
thisCard.remove();
//hover card wrapper markup
var rightArrowClass = rightSide?'rightArrow':'';
if(thisElTopOffset != "auto"){
topParam = 'px';
}
if(thisElbottomoffset != "auto"){
bottomparam = 'px';
}
var profileCardHtml = '';
$.when(
//get the background
$.ajax({
type: 'GET',
url: userApiUrl+thisUserID,
dataType: 'html',
success: function(data) {
$('.profileCard',cardWrapper).hide();
ajaxReturn = data;
}
})
)
.done(function(){
cardWrapper.append(profileCardHtml);
$('.profileCard[data-user='+thisUserID+']',cardWrapper).eq(0).empty().html(ajaxReturn);
if($('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).length){
$('.profileCard[data-user='+thisUserID+'] .preloader',cardWrapper).parents('div.profileCard').remove();
}
})
.fail(function(){
//uh oh - bail out!
$('.profileCard',cardWrapper).hide();
});
}
}, 360);
}
function mouseleave(e) {
clearTimeout(cardTimer);
// glowingblue: When the user leaves the hovercard trigger, wait because the leaving could be
// to interact with the hovercard, if we don't wait it will just disappear...because
// we left the trigger, right...so we'll have another handler that check if the mouse is
// over the hovercard and if so clears this timer, so the card doesn't close here
leaveTimer = setTimeout(function() {
if ($('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).length) {
$('.profileCard[data-user="'+thisUserID+'"]',cardWrapper).fadeOut('fast');
} else {
$(".profileCard").fadeOut('fast');
}
}, 2400);
}
$(document).on("mouseenter focusin", allHoverCardTriggers, function(event) {
if(!($(this).parents().hasClass('custom-header'))&& !($(this).parents().hasClass('green-wrap'))){
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseenter($(this));
event.stopPropagation();
}
});
$(document).on("mouseleave focusout", allHoverCardTriggers, function(event) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
mouseleave(event);
event.stopPropagation();
});
// glowingblue: Add handlers for when the users interacts with the hovercard, no closing!
$('.hover-card-container').on('mouseenter', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
});
$('.hover-card-container').on('mouseleave', function(e) {
(leaveTimer !== []._) && clearTimeout(leaveTimer);
if ( $(e.target).is('.profileCard[style*="block"]') ) {
leaveTimer = setTimeout(function() {
$(e.target).fadeOut('fast');
}, 2400);
}
});
// glowingblue: add one global root level click handler to also close any visible hovercards
// if the user taps/clicks outside the hovercard
$(document).on('mousedown', function(e) {
if ( !$(e.target).parents('.hover-card-container').length ) {
(leaveTimer != []._) && clearTimeout(leaveTimer);
$('.hover-card-container .profileCard[style*="block"]').each(function() {
$(this).fadeOut('fast');
});
}
});
})(LITHIUM.jQuery);
(function($) {
document.cookie = "advocacyToken=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "Crowdvocate_jwt_token=; domain=.hubspot.com; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
document.cookie = "Crowdvocate_user_ck=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
})(LITHIUM.jQuery);
(function($) {
document.addEventListener('gdpr.allow', function() {
if (document.querySelector('.lia-cookie-banner-alert-accept a')) {
document.querySelector('.lia-cookie-banner-alert-accept a').click();
}
});
})(LITHIUM.jQuery);
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox","feedbackSelector":".InfoMessage"});
;(function($){
var langMap = {
'en':'hubspot_community_en',
'es':'hubspot_community_es',
'fr':'hubspot_community_fr',
'ja':'hubspot_community_jp',
'pt-br':'hubspot_community_pt',
'de':'hubspot_community_de'
}
var nodeType = "community";
var langScope = langMap['en'];
var isSearchPage = jQuery('body').hasClass('SearchPage');
var isIdeasLandingPage = jQuery('body').hasClass('ideaslandingpage');
if (nodeType === "community" && !isSearchPage && !isIdeasLandingPage) {
var inputFormFilter = '';
var inputFormLocation = '';
$('form.SearchForm').append(inputFormFilter).append(inputFormLocation);
} else if (nodeType === "community" && isIdeasLandingPage) {
var searchUrl = "/t5/forums/searchpage/tab/message?filter=location&location=idea-board:HubSpot_Ideas&collapse_discussion=true";
var query = jQuery('.SearchForm .lia-search-input-message').val();
jQuery(document).on('submit', 'form.SearchForm', function(e) {
e.preventDefault();
var newQ = "&q=" + document.querySelector('.SearchForm .lia-search-input-wrapper input.search-input').value;
window.location = window.location.origin + searchUrl + newQ;
})
}
})(LITHIUM.jQuery)
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_14a7c79180cdf8","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_14a7c79180cdf8_0","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_14a7c79180cdf8_1","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_14a7c79180cdf8_2","feedbackSelector":".InfoMessage"});
LITHIUM.AjaxFeedback(".lia-inline-ajax-feedback", "LITHIUM:hideAjaxFeedback", ".lia-inline-ajax-feedback-persist");
LITHIUM.Placeholder();
LITHIUM.AutoComplete({"options":{"triggerTextLength":0,"updateInputOnSelect":true,"loadingText":"Searching...","emptyText":"No Matches","successText":"Results:","defaultText":"Enter a search word","disabled":false,"footerContent":[{"scripts":"\n\n;(function($){LITHIUM.Link=function(params){var $doc=$(document);function handler(event){var $link=$(this);var token=$link.data('lia-action-token');if($link.data('lia-ajax')!==true&&token!==undefined){if(event.isPropagationStopped()===false&&event.isImmediatePropagationStopped()===false&&event.isDefaultPrevented()===false){event.stop();var $form=$('