import espoCrm from "../../espocrm.app.mjs";
export default {
key: "espocrm-create-contact",
name: "Create Contact",
description: "Creates a new contact in Espo CRM. [See the documentation](https://docs.espocrm.com/development/api/crud/#create)",
version: "0.0.1",
type: "action",
props: {
espoCrm,
firstName: {
type: "string",
label: "First Name",
description: "Specify the contact's first name",
},
lastName: {
type: "string",
label: "Last Name",
description: "Specify the contact's last name",
},
email: {
type: "string",
label: "Email",
description: "Specify the contact's email",
},
phone: {
type: "string",
label: "Phone",
description: "Specify the contact's phone number",
optional: true,
},
street: {
type: "string",
label: "Street Address",
description: "Specify the contact's street address",
optional: true,
},
city: {
type: "string",
label: "City",
description: "Specify the contact's city",
optional: true,
},
state: {
type: "string",
label: "State",
description: "Specify the contact's state/region",
optional: true,
},
postalCode: {
type: "string",
label: "Postal Code",
description: "Specify the contact's postal code",
optional: true,
},
country: {
type: "string",
label: "Country",
description: "Specify the contact's country",
optional: true,
},
title: {
type: "string",
label: "Job Title",
description: "Specify the contact's job title",
optional: true,
},
},
async run({ $ }) {
const response = await this.espoCrm.createContact({
data: {
firstName: this.firstName,
lastName: this.lastName,
emailAddress: this.email,
phoneNumber: this.phone,
addressStreet: this.street,
addressCity: this.city,
addressState: this.state,
addressPostalCode: this.postalCode,
addressCountry: this.country,
title: this.title,
},
$,
});
$.export("$summary", `Successfully created contact ${this.firstName} ${this.lastName}.`);
return response;
},
};