Skip to main content
Glama

mcp-google-sheets

create-update-user.ts2.24 kB
import { intercomAuth } from '../../index'; import { createAction, Property } from '@activepieces/pieces-framework'; import { intercomClient } from '../common'; import dayjs from 'dayjs'; export const createOrUpdateUserAction = createAction({ auth: intercomAuth, name: 'create-or-update-user', displayName: 'Create/Update User', description: 'Update a user within intercom given an email address.', props: { email: Property.ShortText({ displayName: 'Lookup Email', required: true, }), name: Property.ShortText({ displayName: 'Full Name', required: false, }), userId: Property.ShortText({ displayName: 'User ID', required: false, }), phone: Property.ShortText({ displayName: 'Phone', required: false, }), createdAt: Property.DateTime({ displayName: 'Created At', required: false, }), customAttributes: Property.Object({ displayName: 'Custom Attributes', required: false, }), }, async run(context) { const client = intercomClient(context.auth); const contact = await client.contacts.search({ query: { operator: 'AND', value: [ { field: 'email', operator: '=', value: context.propsValue.email, }, { field: 'role', operator: '=', value: 'user', }, ], }, pagination: { per_page: 1 }, }); if (contact.data.length === 0) { const response = await client.contacts.create({ role: 'user', email: context.propsValue.email, name: context.propsValue.name, custom_attributes: context.propsValue.customAttributes, signed_up_at: context.propsValue.createdAt ? dayjs(context.propsValue.createdAt).unix() : undefined, external_id: context.propsValue.userId, phone: context.propsValue.phone, }); return response; } const contactId = contact.data[0].id; const response = await client.contacts.update({ contact_id: contactId, name: context.propsValue.name, custom_attributes: context.propsValue.customAttributes, signed_up_at: context.propsValue.createdAt ? dayjs(context.propsValue.createdAt).unix() : undefined, external_id: context.propsValue.userId, phone: context.propsValue.phone, }); 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