As an integration developer, I have an requirement where I want to send a notification to the user through integration APIs. I have seen many solutions where they have used workflows to achieve this. But my question is do we have a way to do this Lire la suite
Hey @Bryantworks , Thank you for responding ! Using webooks, we can post to integrations when an event occured in Hubspot. But how it can be used ...Lire la suite
As an integration developer, I have an requirement where I want to send a notification to the user through integration APIs. I have seen many solutions where they have used workflows to achieve this. But my question is do we have a way to do this Lire la suite
Hey @Bryantworks , Thank you for responding ! Using webooks, we can post to integrations when an event occured in Hubspot. But how it can be used ...Lire la suite
We have a requirement where we want the workflow action input fields to be filled from a associated objects' data. For an example, I have created a deal based workflow. And I have an action coming from a connected integration, and I want to input Lire la suite
Hi, Thank you @Jaycee_Lewis for tagging ! Thank you @zach_threadint for the inputs ! Yes we can access the associated objects data like this in ...Lire la suite
We have a requirement where we want the workflow action input fields to be filled from a associated objects' data. For an example, I have created a deal based workflow. And I have an action coming from a connected integration, and I want to input Lire la suite
Hi, Thank you @Jaycee_Lewis for tagging ! Thank you @zach_threadint for the inputs ! Yes we can access the associated objects data like this in ...Lire la suite
Hi there, Upon line item creation(plus associate with Deal), update, delete I want to automatically update the deal amount as well. I can see this functionality in the UI as shown below. Is it possible through API call? Notes: Looking Lire la suite
@ChrisoKlepke Thank you for your reply. Can you please guild me on how to get ' Deal amount calculation preference' from the settings? I guess ...Lire la suite
Hi there, Upon line item creation(plus associate with Deal), update, delete I want to automatically update the deal amount as well. I can see this functionality in the UI as shown below. Is it possible through API call? Notes: Looking Lire la suite
@ChrisoKlepke Thank you for your reply. Can you please guild me on how to get ' Deal amount calculation preference' from the settings? I guess ...Lire la suite
Hi @himanshurauthan Thank you for the quick reply. I'm unable to find the request timeout change option in app settings or under CRM card sec...Lire la suite
I want to list all the line items related to a deal in the same order in Hubspot. I was using this endpoint /v3/objects/deals/{dealId}/associations/{toObjectType} to get the line items. However, If the user changes the order in UI the endpoin Lire la suite
If we mention the redirect_uri in the app configuration and if we pass some value to the state parameter we get the following error. Couldn’t complete the connection The redirect_uri doesn't match the client registered redirect_uri. Please cont Lire la suite
As per the documentation https://developers.hubspot.com/docs/api/working-with-oauth it should support state parameter. In our case we need to pass ...Lire la suite
In the line item API I can only see a few properties in the examples. Where can I find a complete list of line item properties? I need to include the properties that are interesting via the properties query parameter to get their value in the API. B Lire la suite
As an integration developer, I have an requirement where I want to send a notification to the user through integration APIs. I have seen many solutions where they have used workflows to achieve this. But my question is do we have a way to do this Lire la suite
Hey @Bryantworks , Thank you for responding ! Using webooks, we can post to integrations when an event occured in Hubspot. But how it can be used ...Lire la suite
We have a requirement where we want the workflow action input fields to be filled from a associated objects' data. For an example, I have created a deal based workflow. And I have an action coming from a connected integration, and I want to input Lire la suite
Hi, Thank you @Jaycee_Lewis for tagging ! Thank you @zach_threadint for the inputs ! Yes we can access the associated objects data like this in ...Lire la suite
Rejoignez des groupes pour discuter avec des membres ayant les mêmes centres d'intérêt que vous. Découvrez les groupes les plus populaires actuellement ou
//
//
//
//
//
(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 = '92040';}
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).ready(function(){
var originalElementId;
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function errorDisplay(errType) {
var errAuth = '
Pour accéder à cet espace de la Communauté, veuillez vous connecter.
';
var errAuthLogin = '
To access HubFans and complete challenges, confirm you are logged in by clicking here. Find additional troubleshooting steps here
';
var noBadges = '
To start earning advocacy badges go to the HubFan advocacy program page and start completing advocacy challenges.
';
var noAsks = '
Hooray! No more challenges for you to complete today. Check back in for more challenges tomorrow.
';
if(errType=='errAuth'){
$('.lia-quilt-category-page-hubstars .lia-quilt-column.lia-quilt-column-06.lia-quilt-column-right.lia-quilt-column-side-content').hide();
$('.asks-filters-wrap').html(errAuth);
$('.advocacy-badgeslist').html(errAuth);
$('.ViewProfilePage .rank-badge-border-box .lia-user-badge-list').html(errAuth);
} else if(errType=='errAuthLogin') {
$('.lia-quilt-category-page-hubstars .lia-quilt-column.lia-quilt-column-06.lia-quilt-column-right.lia-quilt-column-side-content').hide();
$('.asks-filters-wrap').html(errAuthLogin);
$('.advocacy-badgeslist').html(errAuthLogin);
$('.ViewProfilePage .rank-badge-border-box .lia-user-badge-list').html(errAuthLogin);
} else if(errType=='noAsks'){
$('.asks-lists').addClass('no-asks').html(noAsks);
}else if(errType=='noBadges'){
$('.advocacy-badgeslist').html(noBadges);
$('.ViewProfilePage .rank-badge-border-box .lia-user-badge-list').html(noBadges);
}
}
function parseJwt (token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
return JSON.parse(jsonPayload);
};
var pagename = 'ViewProfilePage';
if(pagename == 'AdvocacyBadges'){
$('#lia-body').addClass('UserBadgesPage');
}
setCookie("advocacyToken", "", 0);
errorDisplay('errAuth');
});
})(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);
;(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['fr'];
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_6713d07073d6c4","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6713d07073d6c4_0","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6713d07073d6c4_1","feedbackSelector":".InfoMessage"});
LITHIUM.InformationBox({"updateFeedbackEvent":"LITHIUM:updateAjaxFeedback","componentSelector":"#informationbox_6713d07073d6c4_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":"Recherche...","emptyText":"Aucune correspondance","successText":"Résultats :","defaultText":"Entrez un mot à rechercher","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=$('