actions/create-customer/create-customer.mjs
import square from "../../square.app.mjs"; export default { key: "square-create-customer", name: "Create Customer", description: `Creates a new customer for a business. Must provide at least one of the following: Given Name, Family Name, Company Name, Email Address, or Phone Number. [See the docs](https://developer.squareup.com/reference/square/customers-api/create-customer).`, type: "action", version: "0.0.4", annotations: { destructiveHint: false, openWorldHint: true, readOnlyHint: false, }, props: { square, givenName: { type: "string", label: "Given Name", description: "The first name associated with the customer profile", optional: true, }, familyName: { type: "string", label: "Family Name", description: "The last name associated with the customer profile", optional: true, }, companyName: { type: "string", label: "Company Name", description: "A business name associated with the customer profile", optional: true, }, email: { type: "string", label: "Email Address", description: "The email address associated with the customer profile", optional: true, }, phoneNumber: { type: "string", label: "Phone Number", description: "Must be a valid phone number and can contain 9-16 digits, with an optional + prefix and country code", optional: true, }, referenceId: { propDefinition: [ square, "referenceId", ], }, note: { type: "string", label: "Note", description: "A custom note associated with the customer profile", optional: true, }, }, async run({ $ }) { const response = await this.square.createCustomer({ $, generateIdempotencyKey: true, data: { given_name: this.givenName, family_name: this.familyName, company_name: this.companyName, email_address: this.email, phone_number: this.phoneNumber, reference_id: this.referenceId, note: this.note, }, }); $.export("$summary", "Successfully created customer"); return response; }, };