feat: launch Vibeflow n8n v0.5.0

This commit is contained in:
Felipe Domingues 2026-04-12 13:33:57 -03:00
commit 097f35215f
60 changed files with 2831 additions and 0 deletions

View file

@ -0,0 +1,10 @@
# Example Briefs
## Example 1
Create an n8n workflow that receives leads from a webhook, scores them with AI, sends hot leads to Slack, and stores everything in HubSpot.
## Example 2
Create a workflow that runs every weekday at 8 AM, pulls yesterday's orders from an API, summarizes key metrics, and posts the summary to Microsoft Teams.
## Example 3
Create a workflow that watches Gmail for invoices, extracts key information with AI, stores structured records in Airtable, and alerts finance when the amount is above a threshold.

View file

@ -0,0 +1,30 @@
# Example Final Report
## Summary
A workflow named `Lead Intake and Triage` was created to receive incoming lead data, score urgency using AI, send high-priority leads to Slack, and store all leads in HubSpot.
## What was created
- Webhook trigger for incoming lead payloads
- Validation step for required lead fields
- AI scoring and summarization step
- Conditional branch for hot leads
- Slack notification for hot leads
- HubSpot create/update action
- Generic failure notification path
## Assumptions used
- Lead uniqueness is based on email
- Slack notifications are required only for hot leads
- Missing optional fields do not block processing
## Manual setup still required
- Connect OpenAI credentials
- Connect Slack credentials
- Connect HubSpot credentials
- Review final field mappings for HubSpot properties
## How to test
1. Send a sample payload to the webhook
2. Confirm the AI score is produced
3. Verify hot leads appear in Slack
4. Verify the record is stored in HubSpot

29
examples/example-plans.md Normal file
View file

@ -0,0 +1,29 @@
# Example Plans
## Example 1 Plan
- Workflow name: Lead Intake and Triage
- Trigger: Webhook
- Systems: Webhook, OpenAI, Slack, HubSpot
- Steps:
- Receive lead payload
- Validate required fields
- Score and summarize with AI
- Branch on urgency
- Notify Slack for hot leads
- Upsert lead in HubSpot
- Error handling:
- Return validation error on missing fields
- Send Slack alert on workflow failure
## Example 2 Plan
- Workflow name: Daily Orders Digest
- Trigger: Schedule weekdays 08:00
- Systems: HTTP API, Code/Transform, Microsoft Teams
- Steps:
- Run on schedule
- Fetch yesterday's orders
- Aggregate totals and deltas
- Generate concise summary
- Post digest to Teams

View file

@ -0,0 +1,39 @@
# Example Walkthroughs
## Walkthrough 1: Lead qualification
### User request
Create an n8n workflow that receives a website lead, summarizes the lead using AI, classifies urgency, sends hot leads to Slack, and saves all leads in Airtable.
### Agent follow-up questions
1. What triggers the workflow: webhook, form, or CRM event?
2. How should a hot lead be defined?
3. Should Airtable create new records only or update existing ones?
4. Which Slack channel should receive hot leads?
### Normalized plan summary
- trigger: webhook
- systems: OpenAI, Slack, Airtable
- duplicate strategy: upsert by email
- alert rule: hot if urgency score >= 8
- fallback: notify ops on failure
### Delivery excerpt
Workflow created with webhook trigger, AI enrichment, urgency classification, hot lead branch, Slack notification, Airtable upsert path, and failure alert stub.
## Walkthrough 2: Weekly finance digest
### User request
Every Monday morning, collect unpaid invoices from the ERP, summarize totals by customer, and send the finance team a Slack digest.
### Critical follow-ups
1. What ERP or source system holds the invoice data?
2. What timezone should Monday morning use?
3. Should the digest include overdue aging buckets?
4. Is Slack the only output?
### Plan summary
- trigger: schedule weekly
- output: internal Slack digest
- data grouping: by customer and due bucket
- caution: no customer-facing messages

105
examples/sample-plan.json Normal file
View file

@ -0,0 +1,105 @@
{
"plan_version": "0.3.0",
"workflow_name": "Typeform Lead Triage",
"objective": "Capture new Typeform submissions, summarize with AI, classify lead temperature, notify Slack for hot leads, and store all submissions in Airtable.",
"trigger": {
"type": "typeform_submission",
"summary": "Runs whenever a new Typeform response is received.",
"input_shape": "Form response payload with contact, answers, and metadata."
},
"systems": [
"Typeform",
"OpenAI",
"Slack",
"Airtable",
"n8n"
],
"steps": [
{
"id": "step_1",
"name": "Receive submission",
"action": "Read the incoming Typeform payload."
},
{
"id": "step_2",
"name": "Summarize content",
"action": "Generate a concise summary with AI.",
"depends_on": [
"step_1"
]
},
{
"id": "step_3",
"name": "Classify lead",
"action": "Assign hot, warm, or cold label.",
"depends_on": [
"step_2"
]
},
{
"id": "step_4",
"name": "Branch urgent leads",
"action": "If hot, send a Slack alert.",
"depends_on": [
"step_3"
]
},
{
"id": "step_5",
"name": "Persist record",
"action": "Write all leads to Airtable.",
"depends_on": [
"step_3"
]
}
],
"branching": [
{
"condition": "lead_temperature == 'hot'",
"path": "notify_slack"
},
{
"condition": "lead_temperature != 'hot'",
"path": "skip_slack"
}
],
"credentials": [
{
"system": "Typeform",
"status": "required"
},
{
"system": "OpenAI",
"status": "required"
},
{
"system": "Slack",
"status": "required"
},
{
"system": "Airtable",
"status": "required"
}
],
"assumptions": [
"The Typeform payload includes enough text to summarize.",
"Slack alerting is only required for hot leads.",
"Airtable base and table are already chosen by the user."
],
"risks": [
"Missing credentials block full end-to-end testing.",
"Lead classification thresholds may need tuning after first runs."
],
"validation": {
"checks": [
"Confirm the Typeform trigger fires with a real payload.",
"Confirm AI output contains both summary and label.",
"Confirm Slack only receives hot leads.",
"Confirm Airtable receives every submission."
],
"manual_steps": [
"Connect credentials in n8n if placeholders were used.",
"Review the prompt used for classification before production rollout."
]
}
}