- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
1.5 KiB
TypeScript
40 lines
1.5 KiB
TypeScript
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
|
import { OAuth2PropertyValue, PieceAuth, createPiece } from '@activepieces/pieces-framework';
|
|
import { PieceCategory } from '@activepieces/shared';
|
|
import { todoistCreateTaskAction } from './lib/actions/create-task-action';
|
|
import { todoistTaskCompletedTrigger } from './lib/triggers/task-completed-trigger';
|
|
import { todoistUpdateTaskAction } from './lib/actions/update-task.action';
|
|
import { todoistFindTaskAction } from './lib/actions/find-task.action';
|
|
import { todoistMarkTaskCompletedAction } from './lib/actions/mark-task-completed.action';
|
|
|
|
export const todoistAuth = PieceAuth.OAuth2({
|
|
required: true,
|
|
authUrl: 'https://todoist.com/oauth/authorize',
|
|
tokenUrl: 'https://todoist.com/oauth/access_token',
|
|
scope: ['data:read_write'],
|
|
});
|
|
|
|
export const todoist = createPiece({
|
|
displayName: 'Todoist',
|
|
description: 'To-do list and task manager',
|
|
minimumSupportedRelease: '0.5.0',
|
|
logoUrl: 'https://cdn.activepieces.com/pieces/todoist.png',
|
|
authors: ['MyWay', 'kishanprmr', 'MoShizzle', 'khaledmashaly', 'abuaboud'],
|
|
categories: [PieceCategory.PRODUCTIVITY],
|
|
auth: todoistAuth,
|
|
actions: [
|
|
todoistCreateTaskAction,
|
|
todoistUpdateTaskAction,
|
|
todoistFindTaskAction,
|
|
todoistMarkTaskCompletedAction,
|
|
createCustomApiCallAction({
|
|
baseUrl: () => 'https://api.todoist.com/rest/v2',
|
|
auth: todoistAuth,
|
|
authMapping: async (auth) => ({
|
|
Authorization: `Bearer ${auth.access_token}`,
|
|
}),
|
|
}),
|
|
],
|
|
triggers: [todoistTaskCompletedTrigger],
|
|
});
|