@firefliesai/n8n-nodes-fireflies
Version:
An n8n integration for the Fireflies.ai API that enables workflow automation with meeting transcripts, analytics, summaries, and other conversation data from Fireflies.ai's AI meeting assistant.
63 lines • 2.72 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createThread = createThread;
const transport_1 = require("../../transport");
const helpers_1 = require("../../helpers");
async function createThread(ef, index) {
try {
const query = ef.getNodeParameter('query', index);
const additionalFields = ef.getNodeParameter('additionalFields', index, {});
const meetingFilters = ef.getNodeParameter('meetingFilters', index, {});
const input = {
query,
};
if (additionalFields.transcriptId) {
input.transcript_id = additionalFields.transcriptId;
}
if (additionalFields.responseLanguage) {
input.response_language = additionalFields.responseLanguage;
}
if (additionalFields.formatMode) {
input.format_mode = additionalFields.formatMode;
}
const hasFilters = meetingFilters.startTime || meetingFilters.endTime ||
meetingFilters.channelIds || meetingFilters.organizers ||
meetingFilters.participants || meetingFilters.transcriptIds;
if (hasFilters) {
const filters = {};
if (meetingFilters.startTime) {
filters.start_time = meetingFilters.startTime;
}
if (meetingFilters.endTime) {
filters.end_time = meetingFilters.endTime;
}
if (meetingFilters.channelIds) {
filters.channel_ids = meetingFilters.channelIds.split(',').map(id => id.trim()).filter(id => id);
}
if (meetingFilters.organizers) {
filters.organizers = meetingFilters.organizers.split(',').map(email => email.trim()).filter(email => email);
}
if (meetingFilters.participants) {
filters.participants = meetingFilters.participants.split(',').map(email => email.trim()).filter(email => email);
}
if (meetingFilters.transcriptIds) {
filters.transcript_ids = meetingFilters.transcriptIds.split(',').map(id => id.trim()).filter(id => id);
}
input.filters = filters;
}
const response = await transport_1.callGraphQLApi.call(ef, helpers_1.createAskFredThreadMutation, { input });
return {
json: {
success: true,
data: response.createAskFredThread,
},
};
}
catch (error) {
const errorResponse = (0, helpers_1.handleOperationError)(ef.getNode(), error, ef.continueOnFail(), 'createThread');
return {
json: errorResponse,
};
}
}
//# sourceMappingURL=createThread.js.map