@vulture916/activepieces-piece-lemlist
Version:
Lemlist integration for ActivePieces - Email outreach and sales engagement platform
44 lines (40 loc) • 1.23 kB
JavaScript
const { createAction, Property } = require('@activepieces/pieces-framework');
const { HttpMethod } = require('@activepieces/pieces-common');
const { lemlistAuth } = require('../../common/auth');
const { lemlistClient } = require('../../common/client');
exports.getCampaignReports = createAction({
auth: lemlistAuth,
name: 'get_campaign_reports',
displayName: 'Get Campaign Reports',
description: 'Get reports for all campaigns',
props: {
startDate: Property.DateTime({
displayName: 'Start Date',
description: 'Filter reports from this date',
required: false,
}),
endDate: Property.DateTime({
displayName: 'End Date',
description: 'Filter reports until this date',
required: false,
}),
},
async run(context) {
const { startDate, endDate } = context.propsValue;
const queryParams = {};
if (startDate) {
queryParams.startDate = startDate;
}
if (endDate) {
queryParams.endDate = endDate;
}
const reports = await lemlistClient.makeRequest(
context.auth,
HttpMethod.GET,
'/campaigns/reports',
undefined,
Object.keys(queryParams).length > 0 ? queryParams
);
return reports;
},
});