import { ok, badRequest, serverError } from "wix-http-functions"; import wixCrmBackend from "wix-crm-backend"; // CRM label keys — must match labels created in Wix CRM dashboard const CRM_LABELS = { base: "custom.lcg-lead", resilience: "custom.lcg-resilience", ai: "custom.lcg-ai-strategy", }; // LinkedIn URL helpers const liCompanyUrl = (slug) => slug ? `https://www.linkedin.com/company/${slug}` : ""; const liPersonUrl = (slug) => slug ? `https://www.linkedin.com/in/${slug}` : ""; // ───────────────────────────────────────────────────────────────────────────── // POST /_functions/lcgLead // // Expected JSON payload from Clay / Zapier: // { // company: string (required) // contactName: string // contactTitle: string // sector: string // size: "Small" | "Mid Cap" | "Large Cap" // hq: string // linkedinUrl: string (full contact profile URL) // liPersonSlug: string (e.g. "firstname-lastname") // liCompanySlug: string (e.g. "company-name") // email: string // phone: string // liSignals: string (comma-separated signal labels) // score: number (0–100) // focus: "resilience" | "ai" | "general" // notes: string // } // ───────────────────────────────────────────────────────────────────────────── export async function post_lcgLead(request) { let body; try { body = await request.body.json(); } catch (e) { return badRequest({ body: JSON.stringify({ error: "Invalid JSON body" }) }); } const { company, contactName, contactTitle, sector, size, hq, liPersonSlug, liCompanySlug, email, phone, liSignals, score, focus, notes } = body; if (!company) { return badRequest({ body: JSON.stringify({ error: "company is required" }) }); } // Build label list for CRM contact const labelKeys = [CRM_LABELS.base]; if (focus === "resilience") labelKeys.push(CRM_LABELS.resilience); if (focus === "ai") labelKeys.push(CRM_LABELS.ai); // Build extended fields const extendedFields = { "custom.lcg-company": company, "custom.lcg-title": contactTitle || "", "custom.lcg-sector": sector || "", "custom.lcg-size": size || "", "custom.lcg-hq": hq || "", "custom.lcg-li-person": liPersonUrl(liPersonSlug), "custom.lcg-li-company": liCompanyUrl(liCompanySlug), "custom.lcg-signals": liSignals || "", "custom.lcg-score": String(score || 0), "custom.lcg-focus": focus || "general", "custom.lcg-notes": notes || "", "custom.lcg-created": new Date().toISOString(), }; try { // Split name into first/last for CRM const nameParts = (contactName || company).trim().split(" "); const firstName = nameParts[0] || company; const lastName = nameParts.slice(1).join(" ") || ""; // Create or update contact in Wix CRM const contactInfo = { name: { first: firstName, last: lastName }, emails: email ? [{ email, tag: "MAIN" }] : [], phones: phone ? [{ phone, tag: "MAIN" }] : [], labelKeys, extendedFields, }; await wixCrmBackend.contacts.createContact(contactInfo); return ok({ body: JSON.stringify({ success: true, message: `Lead created: ${contactName || company}`, company, score: score || 0, }), }); } catch (err) { console.error("LCG CRM error:", err); return serverError({ body: JSON.stringify({ error: "CRM write failed", detail: err.message || String(err), }), }); } }
top of page
PPT LCG Front page 1.png
Christoffer Sevaldsen

Christoffer Sevaldsen

Christoffer Sevaldsen er founder, Partner og aktiv konsulent i Leadership Capital Group.

Ledelse, Marketing og Kommunikation

Christoffer Sevaldsen er en erfaren marketing- og kommunikationsdirektør med over 15 års international erfaring inden for strategisk branding, markedsføring og forretningsudvikling. Han har en stærk kommerciel forståelse og en analytisk tilgang til data, hvilket gør ham i stand til at udvikle og implementere effektive marketingstrategier, der skaber vækst og styrker virksomhedens brand.

Gennem sin karriere har Christoffer opnået imponerende resultater, herunder betydelig lead-vækst, succesfulde brandlanceringer og optimering af marketing- og salgsprocesser. Han har ledet marketingteams på tværs af brancher og geografiske markeder, herunder Nordics, EMEA og Mellemøsten, og har erfaring fra virksomheder som Pandora, Ordrestyring og House of Amber.

Som leder er Christoffer empatisk, dynamisk og relationsfokuseret. Han trives i organisationer, der værdsætter nytænkning og samarbejde, og han brænder for at opbygge teams, der skaber resultater gennem inklusion og empowerment.

Ekspertiseområder:

  • Marketingstrategi og branding

  • Strategisk kommunikation

  • Kampagne- og projektledelse

  • Digital transformation og SoMe-markedsføring

  • Dataanalyse og performance tracking

  • Ledelse og teamudvikling

 

Christoffer er drevet af at skabe og udvikle organisationer med en klar vision og stærke værdier, hvor marketing spiller en central rolle i virksomhedens vækst og succes.

Kontakt Christoffer Sevaldsen

  • LinkedIn
bottom of page