RefleQt | En TeQfloblogg om Tech & CRM

Optimera Avtalsförnyelser: HubSpot Hacks för Smidig Automatisering

Skriven av Viktor Olsson | 2024-02-26 10:29

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:

  1. Custom Code - Korrigera datum automatiskt!

 

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:

  • Contract type = Vad är det för typ av kontrakt
  • Service type = Inom vilket området gäller detta kontrakt
  • Contract start date = Vilket startdatum har kontraktet
  • Contract end date = Vilket slutdatum har kontraktet
  • Contract days remaining = Hur länge är det kvar på kontraktet
  • Notice period = Sista dag att säga upp avtal för att undvika en automatiskt förnyelse
  • Last notification (months) = Här har man möjligheten att ställa in hur lång framförhållning man behöver för att säga upp kontraktet. Har man 1 månad uppsägningstid så ligger noticed period månaden före contract start date.
  • Contract renewal months) = Hur många månader åt gången ska kontraktet förnyas.
  • Auto renew = Om det är en kontrakt som automatiskt förnyas tills att det sägs upp

 



 

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:

  1. End-date behöver vara känt
  2. Today's date behöver vara känt
  3. Det är mindre än 1 dag kvar på kontraktet (Today's date - Contract end date)
  4. Auto renew behöver vara "yes"
  5. Time to renew måste vara nej för undvika loop

 

Workflow #2

I workflow nummer 2 behöver vi då titta på att liknande krav uppfylls.

  1. Auto renew måste vara yes för att det ska förnyas automatiskt
  2. Today's date behöver vara känt
  3. Vi behöver veta Contract end date - när slutar avtalet
  4. Contract renewal month behöver vara känt eftersom denna styr hur många månader åt gången det kommer förnyas
  5. Time to renew behöver vara vara yes (detta satte av förgående flöde för att trigga förnyelsen)

 

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:

  • Language: Node.js 16.x
  • Description: Valfri, men det rekomenderas att skriva en kortare förklaring av vad just denna gör.
  • Secrets: I detta fall behövs ingen secret
  • Property to include in code:  Minns ni när vi formatera contract end date? Det här är vi använder output från action 4. format data contract end date
  • InputDate = contract end date (det nya formaterade datumet)

 

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, 

         }

    });
}

 

Nästan klara!

 

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 :)

 

 

Vill du veta mer om hur vi kan bygga speciallösningar för just era problem?

  1. Om detta blogginlägg väckt ditt intresse eller om du söker vägledning inom Hubspot och CRM, tveka inte att kontakta oss.
  2. Följ oss på sociala medier. Vi uppdaterar löpande på LinkedIn, Instagram, och Facebook när vi har ett nytt blogginlägg. Där får värdefulla tips och hålls uppdaterad på nyheter och värdefulla tips, så du förlorar ingenting på att följa oss! 
  3. Vill du connecta på LinkedIn? Du hittar mig här! Skicka ett meddelande om detta ämne, eller nåt helt annat! 

/ Viktor Olsson - CRM Konsult