Skip to main content
Glama

mcp-google-sheets

new-team-custom-emoji.ts1.57 kB
import { TriggerStrategy, createTrigger } from '@activepieces/pieces-framework'; import { slackAuth } from '../../'; import { WebClient } from '@slack/web-api'; const sampleData = { id: 'heart', image: 'https://emoji.slack-edge.com/T06BTHUEFFF/heart/84a171ae62daacc7.jpg', }; export const newTeamCustomEmojiTrigger = createTrigger({ auth: slackAuth, name: 'new-team-custom-emoji', displayName: 'New Team Custom Emoji', description: 'Triggers when a custom emoji has been added to a team.', props: {}, type: TriggerStrategy.APP_WEBHOOK, sampleData, onEnable: async (context) => { // Older OAuth2 has team_id, newer has team.id const teamId = context.auth.data['team_id'] ?? context.auth.data['team']['id']; context.app.createListeners({ events: ['emoji_changed'], identifierValue: teamId, }); }, onDisable: async (context) => { // Ignored }, test: async (context) => { const client = new WebClient(context.auth.access_token); const response = await client.emoji.list(); if (!response.emoji) return [sampleData]; return Object.entries(response.emoji).map(([id, image]) => ({ id, image, })); }, run: async (context) => { const payloadBody = context.payload.body as PayloadBody; // check if it's emoji message if (payloadBody.event.type !== 'emoji_changed' && payloadBody.event.subtype !== 'add') { return []; } return [{ id: payloadBody.event.name, image: payloadBody.event.value }]; }, }); type PayloadBody = { event: { type: string; subtype: string; name: string; value: string; }; };

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