- 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>
65 lines
1.9 KiB
TypeScript
65 lines
1.9 KiB
TypeScript
import {
|
|
createPiece,
|
|
PieceAuth,
|
|
Property,
|
|
} from '@activepieces/pieces-framework';
|
|
import { PieceCategory } from '@activepieces/shared';
|
|
import { opnformNewSubmission } from './lib/triggers/new-submission';
|
|
import { API_URL_DEFAULT, opnformCommon } from './lib/common';
|
|
import { createCustomApiCallAction } from '@activepieces/pieces-common';
|
|
|
|
export const opnformAuth = PieceAuth.CustomAuth({
|
|
description:
|
|
'Please use your Opnform API Key. [Click here for create API Key](https://opnform.com/home?user-settings=access-tokens)',
|
|
required: true,
|
|
props: {
|
|
baseApiUrl: Property.ShortText({
|
|
displayName: `Base URL (Default: ${API_URL_DEFAULT})`,
|
|
required: false,
|
|
}),
|
|
apiKey: PieceAuth.SecretText({
|
|
displayName: 'API Key',
|
|
required: true,
|
|
}),
|
|
},
|
|
validate: async (
|
|
auth
|
|
): Promise<{ valid: true } | { valid: false; error: string }> => {
|
|
try {
|
|
const isValid = await opnformCommon.validateAuth(auth.auth);
|
|
if (isValid) {
|
|
return { valid: true };
|
|
}
|
|
return { valid: false, error: 'Invalid API Key' };
|
|
} catch (e) {
|
|
return { valid: false, error: 'Invalid API Key' };
|
|
}
|
|
},
|
|
});
|
|
|
|
export const opnform = createPiece({
|
|
displayName: 'Opnform',
|
|
description:
|
|
'Create beautiful online forms and surveys with unlimited fields and submissions',
|
|
|
|
auth: opnformAuth,
|
|
minimumSupportedRelease: '0.36.1',
|
|
logoUrl: 'https://cdn.activepieces.com/pieces/opnform.png',
|
|
categories: [PieceCategory.FORMS_AND_SURVEYS],
|
|
authors: ['JhumanJ', 'chiragchhatrala'],
|
|
actions: [
|
|
createCustomApiCallAction({
|
|
auth: opnformAuth,
|
|
baseUrl: (auth) => {
|
|
return opnformCommon.getBaseUrl(auth);
|
|
},
|
|
authMapping: async (auth) => {
|
|
return {
|
|
Authorization: `Bearer ${auth.props.apiKey}`,
|
|
};
|
|
},
|
|
}),
|
|
],
|
|
triggers: [opnformNewSubmission],
|
|
});
|