Skip to main content
Glama
new-room.ts2.21 kB
import { createTrigger, TriggerStrategy, } from '@activepieces/pieces-framework'; import { HttpMethod, httpClient } from '@activepieces/pieces-common'; import { askHandleAuth } from '../common/auth'; const BASE_URL = 'https://dashboard.askhandle.com/api/v1'; export const newRoomTrigger = createTrigger({ auth: askHandleAuth, name: 'new_room', displayName: 'New Room', description: 'Triggers when a new room is created', type: TriggerStrategy.WEBHOOK, props: {}, sampleData: { uuid: 'de1e39a5-a391-4d7f-836d-cf3589529af8', label: 'room-label-123', name: 'Customer Support Room', rating: 5, is_bot_use: false, created_at: '2021-09-15T12:08:50.676405Z', messages: [], }, async onEnable(context) { try { const response = await httpClient.sendRequest({ method: HttpMethod.POST, url: `${BASE_URL}/webhooks/`, headers: { Authorization: `Token ${context.auth}`, 'Content-Type': 'application/json', }, body: { event: 'chat.added', target: context.webhookUrl, }, }); if (response.status === 200 || response.status === 201) { const webhook = response.body as { uuid: string }; await context.store.put('_askhandle_webhook_room', webhook.uuid); } } catch (error: any) { throw new Error( `Failed to enable webhook: ${error.message || String(error)}` ); } }, async onDisable(context) { try { const webhookId = await context.store.get<string>( '_askhandle_webhook_room' ); if (webhookId) { await httpClient.sendRequest({ method: HttpMethod.DELETE, url: `${BASE_URL}/webhooks/${webhookId}/`, headers: { Authorization: `Token ${context.auth}`, 'Content-Type': 'application/json', }, }); await context.store.delete('_askhandle_webhook_room'); } } catch (error: any) { console.warn('Failed to delete webhook during disable:', error); } }, async run(context) { const payload = context.payload.body as { data: any }; return [payload.data || payload]; }, });

Latest Blog Posts

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