Add Activepieces integration for workflow automation
- 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>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import {
|
||||
PieceAuth,
|
||||
Property,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { getProducts } from './api';
|
||||
|
||||
export type CartloomAuthType = { apiKey: string; domain: string };
|
||||
|
||||
export const cartloomAuth = PieceAuth.CustomAuth({
|
||||
description: 'Cartloom Authentication',
|
||||
props: {
|
||||
domain: Property.ShortText({
|
||||
displayName: 'Cartloom Domain',
|
||||
description:
|
||||
'Your cartloom domain will be the subdomain part of your Cartloom URL. Example: https://<strong>mycompany</strong>.cartloom.com',
|
||||
required: true,
|
||||
}),
|
||||
apiKey: PieceAuth.SecretText({
|
||||
displayName: 'API Key',
|
||||
description: 'The API key for your Cartloom account',
|
||||
required: true
|
||||
}),
|
||||
},
|
||||
validate: async ({ auth }) => {
|
||||
try {
|
||||
await validateAuth(auth);
|
||||
return {
|
||||
valid: true,
|
||||
};
|
||||
} catch (e) {
|
||||
return {
|
||||
valid: false,
|
||||
error: (e as Error)?.message,
|
||||
};
|
||||
}
|
||||
},
|
||||
required: true,
|
||||
});
|
||||
|
||||
const validateAuth = async (auth: CartloomAuthType) => {
|
||||
const response = await getProducts(auth);
|
||||
if (response.success !== true) {
|
||||
throw new Error(
|
||||
'Authentication failed. Please check your domain and API key and try again.'
|
||||
);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user