Skip to main content
Glama

mcp-google-sheets

create-ticket.ts1.68 kB
import { intercomAuth } from '../../index'; import { createAction } from '@activepieces/pieces-framework'; import { intercomClient } from '../common'; import { companyIdProp, contactIdProp, ticketPropertiesProp, ticketTypeIdProp, } from '../common/props'; import dayjs from 'dayjs'; export const createTicketAction = createAction({ auth: intercomAuth, name: 'create-ticket', displayName: 'Create Ticket', description: 'Creates a new ticket.', props: { ticketTypeId: ticketTypeIdProp('Ticket Type', true), contactId: contactIdProp('Contact ID', null, true), companyId: companyIdProp('Company ID', false), ticketProperties: ticketPropertiesProp('Ticket Properties', true), }, async run(context) { const { ticketTypeId, contactId, companyId } = context.propsValue; const ticketProperties = context.propsValue.ticketProperties ?? {}; if (!ticketTypeId) { throw new Error('Ticket Type is required'); } if (!contactId) { throw new Error('Contact ID is required'); } const client = intercomClient(context.auth); const formattedProperties: Record<string, any> = {}; for (const key in ticketProperties) { const value = ticketProperties[key]; // Check if value is a valid date string and convert it to a timestamp if (typeof value === 'string' && dayjs(value).isValid()) { formattedProperties[key] = dayjs(value).unix(); // Convert to timestamp } else { formattedProperties[key] = value; } } const response = await client.tickets.create({ ticket_type_id: ticketTypeId, contacts: [{ id: contactId }], company_id: companyId, ticket_attributes: formattedProperties, }); return response; }, });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server