sms-recipient-response-missed.ts•1.62 kB
import {
TriggerStrategy,
createTrigger,
} from '@activepieces/pieces-framework';
import { common, OnfleetWebhookTriggers } from '../common';
import { onfleetAuth } from '../..';
import { WebhookHandshakeStrategy } from '@activepieces/shared';
export const smsRecipientResponseMissed = createTrigger({
auth: onfleetAuth,
name: 'sms_recipient_response_missed',
displayName: 'SMS Recipient Response Missed',
description:
'Triggers when a recipient responds to a notification via SMS, but the organization is unable to handle it at that time',
type: TriggerStrategy.WEBHOOK,
props: {},
//Create the webhook and save the webhook ID in store for disable behavior
async onEnable(context) {
const webhookId = await common.subscribeWebhook(
context.auth,
context.webhookUrl,
OnfleetWebhookTriggers.SMS_RECIPIENT_MISSED
);
await context.store?.put('_sms_recipient_response_missed_trigger', {
webhookId: webhookId,
});
},
//Delete the webhook
async onDisable(context) {
const response: any = await context.store?.get(
'_sms_recipient_response_missed_trigger'
);
if (response !== null && response !== undefined) {
await common.unsubscribeWebhook(context.auth, response.webhookId);
}
},
//Return task
async run(context) {
return [context.payload.body];
},
handshakeConfiguration: {
strategy: WebhookHandshakeStrategy.QUERY_PRESENT,
paramName: 'check',
},
async onHandshake(context) {
return {
status: 200,
body: context.payload.queryParams['check'],
};
},
sampleData: {},
});