HubSpot

NIEUW: we hebben een gratis HubSpot app ontwikkeld

De HubSpot app kun je eenvoudig installeren, rechtstreeks vanuit onze portal:

  • Log in op portal.print.one

  • Ga naar Integrate > Integrations > HubSpot en klik op Install


Als je de HubSpot app niet wilt gebruiken, moet je HubSpot account aan de volgende voorwaarde voldoen:

  • Je moet toegang hebben tot de Workflow builder onder het kopje "automatiseren" in het HubSpot dashboard.

In dit artikel zal worden uitgelegd hoe je Print.one kan implementeren in je HubSpot workflows. Daarbij zullen de volgende stappen worden uitgelegd:

  1. Het aanmaken van een HubSpot workflow;

  2. Het koppelen van de Print.one API Key aan HubSpot;

  3. Het toevoegen van een Print.one actie aan de workflow;

  4. Het testen van de actie.

Het koppelen van Print.one met HubSpot kan gedaan worden in Javascript (NodeJS) en Python. Dat zijn flexibele programmeertalen welke door HubSpot ondersteund worden. In dit voorbeeld zal alleen Javascript gebruikt worden.

Links om te raadplegen

1. Het aanmaken van een HubSpot workflow

Ga naar je HubSpot dashboard en klik bovenin het menu op "Automatisering" -> "Workflows". Klik daar rechtsboven op "Workflow aanmaken". Kies een template, of start vanaf nul.

Klik in de workflow op de plus en in het menu wat volgt op "Aangepaste code". Zie ook de onderstaande afbeelding.

2. Het koppelen van de Print.one API Key aan HubSpot

Na het aanmaken van de aangepaste code actie in de workflow verschijnt rechts een menu waarin de actie bewerkt kan worden. Klik daar bij "Geheimen" op "Geheim toevoegen", zoals te zien is in de onderstaande afbeelding.

Vul in de pop-up een naam in (alleen letters en lage streepjes) en als waarde een Print.one API key. De Print.one API keys zijn te vinden op https://portal.print.one/devs/apikeys.

De Print.one API Key is nu gekoppeld aan HubSpot.

3. Het toevoegen van een Print.one actie aan de workflow

Eigenschappen toevoegen

In hetzelfde menu is het mogelijk om eigenschappen toe te voegen aan de code actie. Klik daarvoor op "Eigenschap toevoegen" en voeg alle gewenste eigenschappen toe. Om kaarten naar een persoon te sturen is het belangrijk dat minstens de volgende gegevens bekend zijn:

  • Een naam;

  • Een adres;

  • Een postcode;

  • Een stad;

  • Een land.

Wanneer deze gegevens ontbreken zal een kaart mogelijk niet juist aankomen bij de ontvanger. Zie de onderstaande afbeelding voor de gegevens van dit voorbeeld.

Print.one aanroepen met gewenste eigenschappen

Om de gewenste gegevens om te zetten in een kaart kan het onderstaande code fragment gebruikt worden. In de code staat ook commentaar met extra uitleg. Vergeet niet om in alle velden je eigen gegevens in te vullen.

HubSpot code voor het aanroepen van Print.one
const axios = require("axios");
// Deze functie zorgt ervoor dat eigenschappen met een hoofdletter beginnen
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
exports.main = (event, callback) => {
// Importeer de gegevens welke in het vorige kopje zijn geselecteerd.
const firstname = capitalizeFirstLetter(event.inputFields["firstname"]);
const lastname = capitalizeFirstLetter(event.inputFields["lastname"]);
const salutation = capitalizeFirstLetter(event.inputFields["salutation"]);
const animalname = capitalizeFirstLetter(event.inputFields["animalname"]);
const address = capitalizeFirstLetter(event.inputFields["address"]);
const zip = event.inputFields["zip"]; // De postcode hoeft niet met een hoofdletter te beginnen
const city = capitalizeFirstLetter(event.inputFields["city"]);
const country = capitalizeFirstLetter(event.inputFields["country"]);
axios
.post(
"https://api.print.one/v2/orders",
{
sender: {
name: "Uw bedrijfsnaam",
address: "Uw adres",
postalCode: "Uw postcode",
city: "Uw stad",
country: "Uw land",
},
recipient: {
name: firstname + " " + lastname,
address: address,
postalCode: zip,
city: city,
country: country,
},
templateId: "<<Vul hier het template ID in>>",
finish: "<<Vul hier de gewenste afwerking in>>",
mergeVariables: {
// Gebruik in dit stuk de gewenste merge variabelen
Aanhef: salutation,
Achternaam: lastname,
NaamDier: animalname,
},
billingId: "<<w)>>",
},
{
headers: {
"x-api-key": process.env.Print_One_API_Key, // Heeft u de API key een andere naam gegeven? Pas deze dan hier aan.
},
}
)
.then((result) => {
// De volgende code wordt uitgevoerd bij het succesvol verzenden van een kaart.
console.log(result.data);
callback({
outputFields: result.data,
});
})
.catch((error) => {
// De volgende code wordt uitgevoerd als er iets mis is gegaan bij het verzenden van een kaart.
console.error(error.response.data);
throw error.response.data;
});
};

Klik als laatst op opslaan om de actie op te slaan.

4. Het testen van de workflow

Nu de actie af is kan deze getest worden. Klik daarvoor op "Testen" in het menu van de workflow. Klik op "Testen" in het menu van de actie. Vul de gegevens in die je wilt gebruiken voor het testen en klik op "Testen". Als alles goed is gegaan zal de workflow succesvol zijn uitgevoerd en zal er een kaart verzonden zijn naar de opgegeven gegevens. De kaart zal ook in het Print.one dashboard te zien zijn.

Help, niet alles werkt!

Geen zorgen, bij het testen van de actie zal een duidelijke foutmelding verschijnen, bijvoorbeeld de onderstaande foutmelding. In die foutmelding is duidelijk te zien welk template niet goed ingesteld staat.

Voorbeeld van een foutmelding in JSON
1{
2 "statusCode": 400,
3 "message": [
4 "'tmpl_4fd010d-16d1-4bfb-b043-ae7f3520f3ea' does not exist.".
5 ]
6}

Mocht je toch nog tegen een problemen aanlopen, dan kan je altijd de documentatie van Hubspot raadplegen.

Transform to static

In sommige gevallen kan het zijn dat je niet alle velden in kan voegen in de actie om kaarten te versturen. Hiervoor is de "Print.one - Transform to static" actie hiermee zet je deze velden om zodat deze gebruikt kunnen worden. Dit doe je door deze actie voor "Print.one - Send" of "Print.one - Add to Batch" te zetten.

Vervolgens stel je "Print.one - Transform to static" met de velden welke niet beschikbaar zijn. Voor alle verplichten velden zijn er velden met dezelfde naam om ze makkelijk vindbaar te maken. Indien je extra velden nodig hebt zijn hier 10 extra velden voor.

Zodra je deze hebt ingevuld kan je deze toevoegen aan je verstuur stap. Hiervoor moet de output selecteren van de vorig stap dit doe je door "Action outputs" te gebruiken in de volgende pagina.

Deze velden kan je vervolgens gebruiken voor het versturen van kaarten!