Vill du effektivisera hanteringen av avtalsförnyelser och få en överblick som sparar tid och minimerar manuellt arbete? Då har du kommit rätt! Här kommer vi dyka djupt ner i världen av HubSpot Hacks med fokus på Operations Hub. Vi ska utforska en spännande metod för att automatisera och korrigera datum med anpassad kod. Häng med när vi tar dig genom stegen för att skapa en smidig och effektiv process för avtalsförnyelser som kan revolutionera din verksamhet! I denna veckans blogg blir det lite mer handson gällande HubSpot Hacks, det kommer vara fokus på custom code delen i Operations Hub!
Innehåll:
Steg 1:
Vi behöver en anledning till att skapa den kommande automation.
I vårt exempel kommer vi använda oss av ett custom object som heter "Vendor Contracts (Leveranstörskontrakt)". Vi skapar detta custom object för att kunna följa upp och få en bra överblick över våra kontrakt med våra leverantörer.
Steg 2:
Väl inne på varje kontrakt kommer vi kunna skapa fält som är relevant för att få en bra överblick:
Vi vill gärna kunna följande:
Nu börjar det spännande! Workflow #1
För att då göra detta automatiskt behöver vi använda oss av HubSpots egna workflow och custom code funktion. Men innan vi kommer till custom code kommer vi behöva se till så lite andra saker fungerar först!
1. Vi behöver först veta att det är dags att trigga en förnyelse - detta gör vi i flöde workflow #1
Kriterierna för detta är:
I workflow nummer 2 behöver vi då titta på att liknande krav uppfylls.
Som steg 2 i samma workflow skapar ni en branch, i denna branch så tittar på vi contract renewal months.
Detta eftersom vi kommer behöva anpassa flödet därefter beroende på hur många månader det ska förnyas.
I detta exemplet kommer vi titta på 1 månad.
Nu börjar det spännande, först kommer vi behöva formera contract start date och addera 1 månad till nuvarande contract start date och spara den till samma property. Vi adderar en månad eftersom contract renewal months är satt till 1. Det är också här det skiljer sig per branch, beroende på hur många månader man vill öka åt gången krävs en branch för varje "scenario".
Nästa, då kommer vi göra samma sak på contract end date, vi lägger på en månad och sparar tillbaka till samma property. Det är ju här vi kommer behöva custom code eftersom HubSpot bryr sig inte om hur många dagar det finns i varje månad. Så det blir problematiskt om vi har haft ett avtal som har slutdatum 29 feburari. Lägger vi på exakt 1 månad (enligt hur HubSpot tolkar det) så kommer vi få april 29:e fast vi har 30 dagar i april månad. Detta löser vi med custom code!
Så det vi gör nu, vi ökar contract end date med en månad men vi sparar ej tillbaka det i propertyn.
Vi skapar istället en custom code action.
Inställningarna som behöver göras i denna ser ni i nästa bild under:
Kopiera följande kod in i custom code-modulen.
exports.main = async (event, callback) => {
let inputDate = new Date(parseInt(event.inputFields['inputDate']));
let newDateString = inputDate.getFullYear() + '-' + (inputDate.getMonth() + 2).toString().padStart(2, '0') + '-01 00:00:00 UTC';
var newDate = new Date(Date.parse(newDateString));
newDate.setUTCDate(newDate.getDate() - 1);
console.log('Input date raw: ' + event.inputFields['inputDate']);
console.log('Input date as Date: ' + inputDate);
console.log('New date: ' + newDate);
callback({
outputFields: {
outputDateString: newDate,
outputDate: newDate,
}
Bland det sista vi gör att är att skapa en output, vi behöver hämta ut det nya datumet och spara det i contract end date. Så för att lyckas med detta klicka på "add output" och skapa en type = date & sedan skriv "outputTimeStamp".
I sista steget så gör vi en copy property action. Vi vill kopiera outputTimeStamp som var output från custom code. Denna vill vi spara in i contract end date.
Sådär! Nu har ni ett fungerade system för att följa upp era avtal med rätt datum :)
/ Viktor Olsson - CRM Konsult