actions/create-or-update-contact/create-or-update-contact.mjs
import app from "../../pandadoc.app.mjs"; export default { key: "pandadoc-create-or-update-contact", name: "Create or Update Contact", description: "This method adds or updates a contact using the email as index. [See the documentation here](https://developers.pandadoc.com/reference/create-contact)", type: "action", version: "0.0.8", annotations: { destructiveHint: true, openWorldHint: true, readOnlyHint: false, }, props: { app, email: { type: "string", label: "Email", description: "Contact's email address.", }, firstName: { type: "string", label: "First Name", description: "Contact's first name.", optional: true, }, lastName: { type: "string", label: "Last Name", description: "Contact's last name.", optional: true, }, company: { type: "string", label: "Company", description: "Contact's company name.", optional: true, }, jobTitle: { type: "string", label: "Job Title", description: "Contact's job title.", optional: true, }, phone: { type: "string", label: "Phone", description: "Contact's phone number.", optional: true, }, country: { type: "string", label: "Country", description: "Contact's country name.", optional: true, }, state: { type: "string", label: "State", description: "Contact's state name.", optional: true, }, streetAddress: { type: "string", label: "Street Address", description: "Contact's street address.", optional: true, }, city: { type: "string", label: "City", description: "Contact's city name.", optional: true, }, postalCode: { type: "string", label: "Postal Code", description: "Contact's postal code.", optional: true, }, }, async run({ $ }) { const { email, firstName, lastName, company, jobTitle, phone, country, state, streetAddress, city, postalCode, } = this; const response = await this.app.createOrUpdateContact({ $, data: { email, first_name: firstName, last_name: lastName, company, job_title: jobTitle, phone, country, state, street_address: streetAddress, city, postal_code: postalCode, }, }); $.export("$summary", `Successfully created or updated a contact with email: ${email}`); return response; }, };