actions/update-contact/update-contact.mjs
import mailercloud from "../../mailercloud.app.mjs"; import utils from "../../common/utils.mjs"; export default { key: "mailercloud-update-contact", name: "Update Contact", description: "Update an existing contact in the user's Mailercloud account. [See the documentation](https://apidoc.mailercloud.com/docs/mailercloud-api/55b552af7970c-update-contact)", version: "0.0.2", annotations: { destructiveHint: true, openWorldHint: true, readOnlyHint: false, }, type: "action", props: { mailercloud, listId: { propDefinition: [ mailercloud, "listId", ], description: "The ID of a list to filter contacts by", }, contactId: { propDefinition: [ mailercloud, "contactId", (c) => ({ listId: c.listId, }), ], }, name: { propDefinition: [ mailercloud, "name", ], }, city: { propDefinition: [ mailercloud, "city", ], }, state: { propDefinition: [ mailercloud, "state", ], }, zip: { propDefinition: [ mailercloud, "zip", ], }, country: { propDefinition: [ mailercloud, "country", ], }, phone: { propDefinition: [ mailercloud, "phone", ], }, industry: { propDefinition: [ mailercloud, "industry", ], }, department: { propDefinition: [ mailercloud, "department", ], }, jobTitle: { propDefinition: [ mailercloud, "jobTitle", ], }, organization: { propDefinition: [ mailercloud, "organization", ], }, }, async run({ $ }) { const response = await this.mailercloud.updateContact({ contactId: this.contactId, data: utils.cleanObject({ name: this.name, city: this.city, state: this.state, zip: this.zip, country: this.country, phone: this.phone, industry: this.industry, department: this.department, job_title: this.jobTitle, organization: this.organization, }), $, }); $.export("$summary", `Successfully updated contact with ID: ${this.contactId}`); return response; }, };