activepieces-3-scheduled-flows
Sub-skill of activepieces: 3. Scheduled Flows.
Best use case
activepieces-3-scheduled-flows is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of activepieces: 3. Scheduled Flows.
Teams using activepieces-3-scheduled-flows should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/3-scheduled-flows/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How activepieces-3-scheduled-flows Compares
| Feature / Agent | activepieces-3-scheduled-flows | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of activepieces: 3. Scheduled Flows.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 3. Scheduled Flows
## 3. Scheduled Flows
```typescript
// Scheduled flow with cron expression
const scheduledFlow = {
"displayName": "Daily Sales Report",
"schedule": {
"cronExpression": "0 9 * * 1-5", // 9 AM Mon-Fri
"timezone": "America/New_York"
},
"trigger": {
"name": "schedule",
"type": "SCHEDULE",
"settings": {},
"displayName": "Daily Schedule"
},
"steps": [
{
"name": "get_date_range",
"type": "CODE",
"settings": {
"sourceCode": {
"code": `
export const code = async () => {
const now = new Date();
const yesterday = new Date(now);
yesterday.setDate(yesterday.getDate() - 1);
return {
start_date: yesterday.toISOString().split('T')[0],
end_date: now.toISOString().split('T')[0],
report_date: now.toISOString()
};
};`
}
},
"displayName": "Calculate Date Range"
},
{
"name": "fetch_sales_data",
"type": "PIECE",
"settings": {
"pieceName": "@activepieces/piece-http",
"pieceVersion": "~0.4.0",
"actionName": "send_request",
"input": {
"method": "GET",
"url": "{{connections.sales_api.base_url}}/api/v1/sales",
"headers": {
"Authorization": "Bearer {{connections.sales_api.api_key}}"
},
"queryParams": {
"start_date": "{{get_date_range.start_date}}",
"end_date": "{{get_date_range.end_date}}"
}
}
},
"displayName": "Fetch Sales Data"
},
{
"name": "generate_report",
"type": "CODE",
"settings": {
"input": {
"sales": "{{fetch_sales_data.body.data}}",
"report_date": "{{get_date_range.report_date}}"
},
"sourceCode": {
"code": `
export const code = async (inputs) => {
const { sales, report_date } = inputs;
const totalRevenue = sales.reduce((sum, sale) => sum + sale.amount, 0);
const totalOrders = sales.length;
const avgOrderValue = totalOrders > 0 ? totalRevenue / totalOrders : 0;
const byCategory = sales.reduce((acc, sale) => {
const cat = sale.category || 'Other';
acc[cat] = (acc[cat] || 0) + sale.amount;
return acc;
}, {});
return {
report_date,
summary: {
total_revenue: totalRevenue.toFixed(2),
total_orders: totalOrders,
avg_order_value: avgOrderValue.toFixed(2)
},
by_category: Object.entries(byCategory)
.map(([category, amount]) => ({ category, amount }))
.sort((a, b) => b.amount - a.amount),
top_products: sales
.sort((a, b) => b.amount - a.amount)
.slice(0, 5)
};
};`
}
},
"displayName": "Generate Report Summary"
},
{
"name": "send_report",
"type": "PIECE",
"settings": {
"pieceName": "@activepieces/piece-gmail",
"pieceVersion": "~0.5.0",
"actionName": "send_email",
"input": {
"to": ["sales-team@example.com", "management@example.com"],
"subject": "Daily Sales Report - {{get_date_range.start_date}}",
"body": "<h1>Daily Sales Report</h1><h2>Summary</h2><ul><li>Total Revenue: ${{generate_report.summary.total_revenue}}</li><li>Total Orders: {{generate_report.summary.total_orders}}</li><li>Average Order Value: ${{generate_report.summary.avg_order_value}}</li></ul>"
}
},
"displayName": "Send Report Email"
}
]
};
```Related Skills
digitalmodel-orcawave-orcaflex-proof-workflows
Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.
raycast-alfred-4-alfred-workflows-python
Sub-skill of raycast-alfred: 4. Alfred Workflows - Python.
raycast-alfred-3-alfred-workflows-applescript
Sub-skill of raycast-alfred: 3. Alfred Workflows - AppleScript.
n8n-8-workflow-templates-and-subworkflows
Sub-skill of n8n: 8. Workflow Templates and Subworkflows.
n8n-3-scheduled-workflows
Sub-skill of n8n: 3. Scheduled Workflows.
github-actions-5-reusable-workflows
Sub-skill of github-actions: 5. Reusable Workflows (+5).
activepieces-integration-with-notion-and-slack
Sub-skill of activepieces: Integration with Notion and Slack.
activepieces-8-error-handling-and-retry-logic
Sub-skill of activepieces: 8. Error Handling and Retry Logic.
activepieces-7-approval-flows
Sub-skill of activepieces: 7. Approval Flows.
activepieces-6-custom-piece-development
Sub-skill of activepieces: 6. Custom Piece Development.
activepieces-5-loop-and-iteration
Sub-skill of activepieces: 5. Loop and Iteration.
activepieces-4-branching-and-conditional-logic
Sub-skill of activepieces: 4. Branching and Conditional Logic.