get-action-reactions
Retrieve reactions and associated data for a specific Trello action to analyze engagement and feedback.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ID of the action | |
| member | No | Include member information for reactions | |
| emoji | No | Include emoji information for reactions |
Implementation Reference
- src/tools/actions.ts:183-234 (registration)Registration of the 'get-action-reactions' tool using server.tool(). Includes the tool name, Zod input schema, and inline handler function that fetches reactions from Trello API.// GET /actions/{id}/reactions - Get reactions for an Action server.tool( 'get-action-reactions', { actionId: z.string().describe('ID of the action'), member: z.boolean().optional().describe('Include member information for reactions'), emoji: z.boolean().optional().describe('Include emoji information for reactions'), }, async ({ actionId, member, emoji }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const url = new URL(`https://api.trello.com/1/actions/${actionId}/reactions`); url.searchParams.append('key', credentials.apiKey); url.searchParams.append('token', credentials.apiToken); if (member !== undefined) url.searchParams.append('member', member.toString()); if (emoji !== undefined) url.searchParams.append('emoji', emoji.toString()); const response = await fetch(url.toString()); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting action reactions: ${error}`, }, ], isError: true, }; } } );
- src/tools/actions.ts:191-233 (handler)The tool handler function. Constructs Trello API URL for action reactions, appends credentials and optional params, fetches data, returns JSON stringified response or error message.async ({ actionId, member, emoji }) => { try { if (!credentials.apiKey || !credentials.apiToken) { return { content: [ { type: 'text', text: 'Trello API credentials are not configured', }, ], isError: true, }; } const url = new URL(`https://api.trello.com/1/actions/${actionId}/reactions`); url.searchParams.append('key', credentials.apiKey); url.searchParams.append('token', credentials.apiToken); if (member !== undefined) url.searchParams.append('member', member.toString()); if (emoji !== undefined) url.searchParams.append('emoji', emoji.toString()); const response = await fetch(url.toString()); const data = await response.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting action reactions: ${error}`, }, ], isError: true, }; } }
- src/tools/actions.ts:186-190 (schema)Input schema using Zod: actionId (string, required), member (boolean, optional), emoji (boolean, optional).{ actionId: z.string().describe('ID of the action'), member: z.boolean().optional().describe('Include member information for reactions'), emoji: z.boolean().optional().describe('Include emoji information for reactions'), },
- src/index.ts:92-92 (registration)Invocation of registerActionsTools function, which registers the get-action-reactions tool (among other actions tools).registerActionsTools(server, credentials);