Orakel-dokumentasjon
Integrasjoner

Attio

Send berikede bedriftskort fra Orakel inn i Attio.

Oversikt

Attio er et CRM bygget rundt oppføringer. Orakel sender bedriftskort (firmadata, regnskapstall, roller, domener, teknologi og skjenkebevillinger) inn i et Attio-arbeidsområde. Kortene slås sammen på org_number, med domene som reserveløsning.

Integrasjonen er push-basert: opprett en Destination av typen attio med et Attio-token, og kall POST /api/push/:destinationName med en liste norske organisasjonsnumre. Konfigurasjonen krypteres (AES-256-GCM).

Det finnes også en webhook (POST /api/webhooks/attio) som utløser berikelse når en oppføring opprettes eller endres inne i Attio. Se Verdt å vite.

Oppsett

  1. Lag et Attio-token: Settings, Developers, Create access token. Gi det tilgang til arbeidsområdet ditt med lese- og skriverettigheter på objektet companies.
  2. Opprett destinasjonen:
    curl -X POST https://orakel.cloud/api/destinations \
      -H "Authorization: Bearer $ORAKEL_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "attio-prod",
        "type": "attio",
        "config": {
          "apiKey": "sk_live_...",
          "fieldMappings": {
            "naceDescription1": "nace_description",
            "revenue": "revenue"
          }
        }
      }'
  3. Start en push:
    curl -X POST https://orakel.cloud/api/push/attio-prod \
      -H "Authorization: Bearer $ORAKEL_KEY" \
      -H "Content-Type: application/json" \
      -d '{"orgNumbers": ["923609016"]}'

Feltoppsett

Det skrives to slags felt til Attio.

Innebygde Attio-felt (skrives alltid, uten oppsett)

Felt i OrakelFelt i AttioForm
foundingDatefoundation_date[{ value: "YYYY-MM-DD" }]
businessAddress*primary_location[{ line_1, locality, region, postcode, country_code, ... }]
employeeCountemployee_range[{ option: "1-10" | "11-50" | "51-250" | ... }]
linkedinHandlelinkedin[{ value: "https://linkedin.com/company/<handle>" }]
facebookHandlefacebook[{ value: "https://facebook.com/<handle>" }]
instagramHandleinstagram[{ value: "https://instagram.com/<handle>" }]
twitterHandletwitter[{ value: "https://x.com/<handle>" }]

Egne felt (skrives bare hvis de står i config.fieldMappings)

Nøkkelen til venstre er feltnavnet i Orakel, verdien til høyre er feltnavnet i ditt Attio-arbeidsområde. Disse feltene er tilgjengelige: orgNumber, country, name, orgFormCode, naceCode1, naceDescription1, employeeCount, businessAddressMuni, businessAddressMuniNo, countyCode, website, phone, sectorDescription, isBankrupt, isBeingDissolved, parentOrgNumber, primaryDomain, domainConfidence, enrichedDomains, linkedinHandle, facebookHandle, instagramHandle, twitterHandle, technologies, revenue, netResult, operatingResult, totalAssets, totalEquity, totalDebt, ceo, boardChair, boardMembers, auditor. Har bedriften en skjenkebevilling, kommer også licenseType, licenseVenueName, licenseMunicipality, licenseValidFrom, licenseValidTo, hasSpirits, hasWine, hasBeer og licenseCount i tillegg.

Kobler du et felt til Attios innebygde domains, behandles det spesielt: tekst renses og pakkes inn, lister sendes videre som de er, og enrichedDomains foretrekkes framfor website når den er rikere.

Konfigurasjon

{
  "apiKey": "sk_live_...",
  "fieldMappings": {
    "orgNumber": "org_number",
    "revenue": "revenue",
    "ceo": "ceo_name",
    "primaryDomain": "domains"
  }
}
  • apiKey: tilgangstoken fra Attio. Påkrevd.
  • fieldMappings: kobling fra felt i Orakel til felt i Attio. Valgfritt. Utelater du det, skrives bare de innebygde feltene over.

Hvordan push fungerer

  • Match: søk etter en oppføring på org_number. Finnes ingen, prøv domains. Finnes fortsatt ingen, opprett en ny.
  • Ved treff: PATCH på oppføringen. Feltet name fjernes fra oppdateringen, slik at merkenavn beholdes.
  • Uten treff: POST en ny oppføring.
  • Resultatet per bedrift telles opp som created, updated og failed, og returneres av POST /api/push/:destinationName.

Slik synkroniserer du

  • Ved tilkobling: Orakel fyller ikke automatisk ut oppføringene du har fra før. Start en push med POST /api/push/:destinationName og organisasjonsnumrene du vil ha, eller bruk knappen Synkroniser nå på kontoen din under orakel.cloud/account?tab=integrations.
  • I sanntid: setter du opp webhooken i Attio (Settings, Developers, Webhooks, legg til POST https://orakel.cloud/api/webhooks/attio), beriker Orakel oppføringene automatisk når de opprettes eller endres.

Vanlige feil

Felt dukker ikke opp etter push. Sjekk at fieldMappings i destinasjonen inneholder feltene du vil ha. Innebygde Attio-felt (foundation_date, primary_location, employee_range, linkedin og så videre) skrives automatisk uten oppsett. Egne felt i arbeidsområdet krever en oppføring i fieldMappings.

Regnskapstall sorteres feil. Bruk felttypen Currency i Attio for revenue, netResult, operatingResult, totalAssets, totalEquity og totalDebt. Bruker du Text, lagres verdiene som tekst og sorteringen blir feil. Slett feltet, opprett det på nytt som Currency, og kjør push igjen.

«Workspace not found», eller feil om tokenets rekkevidde. Et Attio-token rekker bare sitt eget arbeidsområde. Lag én destinasjon per arbeidsområde. Token krysser ikke grensene.

Webhooken utløser ikke berikelse. Attio pakker inn meldingene i { webhook_id, events: [...] }, og Orakel forventer den innpakningen. Ruter du webhooken gjennom en proxy, må hele kroppen sendes videre uendret, også det ytterste laget.

Verdt å vite

  • Regnskapstall: bruk Currency i Attio for revenue, netResult, operatingResult, totalAssets, totalEquity og totalDebt. Text gjør tallene til tekst og ødelegger sorteringen.
  • Innebygde felt bruker en liste med objekter: [{ value: "..." }] for tekst og dato, [{ option: "..." }] for valg, [{ line_1, ... }] for sted. Orakel håndterer det. Kopierer du oppsettet et annet sted, må formen respekteres.
  • Webhook-innpakning: Attio sender { webhook_id, events: [...] }, ikke enkeltmeldinger. Orakel går gjennom events[] og behandler hver post.
  • Attio-API-et har ingen leveringshistorikk for webhooker. Se etter feil under Settings, Developers, Webhooks.
  • Tokenets rekkevidde: et token bundet til ett arbeidsområde når ikke objekter i andre. Én destinasjon per arbeidsområde.

Se også