Files
calendar/apps/web/lib/plain/plain.ts
T
devin-ai-integration[bot]GitHubpeer@cal.com <peer@cal.com>Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>Amit SharmaPeer Richelsen
b9c49b4567 feat: Add contact form for free users in Plain support widget (#22311)
Co-authored-by: peer@cal.com <peer@cal.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2025-07-24 18:14:38 +00:00

33 lines
664 B
TypeScript

import { PlainClient } from "@team-plain/typescript-sdk";
export const plain = new PlainClient({
apiKey: process.env.PLAIN_API_KEY || "",
});
type PlainUser = {
name?: string | null;
email: string;
id: number;
};
export const upsertPlainCustomer = async (user: PlainUser) => {
const fullName = user.name ?? user.email;
const shortName = user.name ?? user.email?.split("@")[0];
const email = user.email;
return await plain.upsertCustomer({
identifier: {
externalId: `${user.id}`,
},
onCreate: {
fullName,
shortName,
email: {
email,
isVerified: true,
},
},
onUpdate: {},
});
};