Recued
Menu
← Back to recipes

Start delivery work from a paid Cal.com booking

by recued-core v4 44 views

Use “Start delivery work from a paid Cal.com booking” in Recued. When a booking is reported paid, combine its current intake with your delivery rules, then review a new project or tasks in an existing one—no CRM required.

Complete workflow

Use Paid Booking Fulfillment - Cal.com in Recued. When Cal.com reports a booking paid, combine its current intake with your delivery rules, then review a new delivery project or tasks in an existing one—no CRM required.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Use “Start delivery work from a paid Cal.com booking” in Recued. When a booking is reported paid, combine its current intake with your delivery rules, then review a new project or tasks in an existing one—no CRM required.

pack:paid-booking-fulfillment-calcompaid-bookingfulfillmentproject-management
by recued-core pinned v4
View pack details, dependencies, and permissions →

A paid booking starts delivery work

This automatic recipe accepts only a signed BOOKING_PAID event, then re-reads the current booking and its attendees through the paired Cal.com account. It combines the booking intake with your fulfillment instructions to propose delivery work. No CRM is required: current attendee and host emails are the only people AI may assign.

The recipe stops if the booking now reads as cancelled or rejected. It does not copy a payment amount or claim accounting settlement; the signed event says Cal.com reported the booking paid, while the provider read-back supplies the current booking details.

Existing or new project

Choose an existing project to add tasks there, or leave it blank to propose one new local project. A task owner must exactly match a current attendee or host email. Missing intake, unclear ownership, invalid dates, and low-confidence suggestions stay in the review output. If no task passes those checks, no empty project is created.

Approval and source limits

Preview changes nothing, and its automatic-run output is not saved as a review page. Apply mode pauses before creating the project and tasks. The webhook result is not itself a durable fulfillment or accounting record.

How it works 70 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (70 steps)
◆ webhook_event core.webhook.event.get
Get webhook event
■ profile_exact compare
Check if webhook event delivery profile id is one of cal.webhook.v1
■ decoded_schema_exact compare
Check if webhook event delivery decoded schema id is one of cal.webhook.v1
■ transport_exact compare
Check if webhook event delivery transport assurance is one of authenticated
■ source_truth_policy_exact compare
Check if webhook event delivery minimum source truth policy is one of provider_readback_required
■ envelope_valid all
Check if all conditions are true
⚠ envelope_guard guard
Stop if envelope valid equals
■ event_type_exact compare
Check if webhook event event provider event type is one of BOOKING_PAID
⚠ event_type_guard guard
Stop if event type exact equals
■ payload_event_matches compare
Check if webhook event payload triggerEvent is one of webhook event event provider event type
⚠ payload_event_guard guard
Stop if payload event matches equals
■ booking_uid trim
Trim whitespace from webhook event event provider resource id
⚠ booking_uid_guard guard
Stop if booking uid is empty
◆ booking_read recued-core.calcom.booking.read
Read booking on calcom
■ booking default
Apply default
⚠ booking_guard guard
Stop if booking uid is empty
◆ attendee_read recued-core.calcom.booking.attendee.search
Search booking attendee on calcom
■ attendee_rows default
Apply default
■ host_rows default
Apply default
■ attendee_people map
Extract from each item
■ host_people map
Extract from each item
■ meeting_people_raw flatten
Flatten nested lists in
■ meeting_people_trimmed map
Extract email from each item
■ meeting_people_normalized map
Extract email_trimmed from each item
■ meeting_people filter
Filter by condition
■ meeting_emails_raw pluck
Extract email from each item
■ meeting_emails unique
Remove duplicates from
■ meeting_names_raw pluck
Extract name from each item
■ meeting_names unique
Remove duplicates from
■ meeting_phone_numbers_raw pluck
Extract phone_number from each item
■ meeting_phone_numbers unique
Remove duplicates from
■ booking_fulfillable compare
Check if booking status is not one of cancelled,rejected
⚠ booking_fulfillable_guard guard
Stop if booking fulfillable equals
■ fulfillment_instructions trim
Trim whitespace from setting fulfillment instructions
⚠ fulfillment_instructions_guard guard
Stop if fulfillment instructions is empty
■ confidence_threshold clamp
Clamp setting confidence threshold between 0 and 1
■ task_cap clamp
Clamp setting max tasks between 1 and 24
■ existing_project_ref trim
Trim whitespace from setting existing project ref
■ has_existing_project compare
Check if existing project ref has data
◆ existing_project_read core.work-entity.get
Get work entity
skip: step.has_existing_project equal false
■ existing_project default
Apply default
■ existing_project_found compare
Check if existing project id has data
■ existing_project_valid any
Check if any of the conditions are true
⚠ existing_project_guard guard
Stop if existing project valid equals
■ create_new_project compare
Check if has existing project equals false
■ plan_fulfillment_pii_protect pii-protect
Apply pii-protect
✦ plan_fulfillment core.ai.extract
AI extracts structured fields from data
■ plan_fulfillment_pii_restore pii-restore
Apply pii-restore
■ project_title_present compare
Check if plan fulfillment pii restore restored project title has data
■ project_plan_valid any
Check if any of the conditions are true
⚠ project_plan_guard guard
Stop if project plan valid equals
■ tasks_raw default
Apply default
■ tasks_normalized map
Extract owner_email from each item
■ tasks_grounded filter
Filter by condition
■ tasks_dated map
Extract due_at_iso from each item
■ tasks_prioritized map
Extract priority from each item
■ tasks slice
Take a subset of
■ task_count count
Count items in tasks
■ has_grounded_tasks compare
Check if task count is greater than 0
■ apply_mode compare
Check if setting write mode equals apply
■ create_project_allowed all
Check if all conditions are true
■ project_key_hash sha256
Apply sha256
■ tasks_key_source map
Extract from each item
■ tasks_key_hash map
Extract key_source from each item
■ tasks_keyed map
Extract from each item
◆ apply_project core.work-entity.project.create
Create work entity project
skip: step.create_project_allowed equal false
■ created_project_id default
Apply default
■ target_project_id default
Apply default
◆ apply_tasks core.work-entity.task.create
Create work entity task
skip: step.apply_mode equal false
■ card to_summary
Format results as a summary card
▼
Output
summary card
text plan_fulfillment_pii_restore.restored.plan_summary
json tasks
json plan_fulfillment_pii_restore.restored.missing_inputs
json plan_fulfillment_pii_restore.restored.coverage_gaps
Settings 5 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

max tasks setting = 12
write mode setting = apply
confidence threshold setting = 0.8
existing project ref setting =
fulfillment instructions setting = [object Object]

Uses (7 operations)

Webhooks Get webhook event core.webhook.event.get
Pack operation Read booking on calcom recued-core.calcom.booking.read
Pack operation Search booking attendee on calcom recued-core.calcom.booking.attendee.search
Tasks & notes Get work entity core.work-entity.get
AI models AI extracts structured fields from data core.ai.extract
Tasks & notes Create work entity project core.work-entity.project.create
Tasks & notes Create work entity task core.work-entity.task.create

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Read Webhooks core.webhook.event.get read-only
Read Tasks & notes core.work-entity.get read-only
Read AI models core.ai.extract read-only
Write Tasks & notes core.work-entity.project.create external change
Write Tasks & notes core.work-entity.task.create external change

2 more aren't listed here. You'll see them at install.

Data it touches

SurfacesWebhooksTasks & notesAI models

About

Tags

pack:paid-booking-fulfillment-calcompaid-bookingfulfillmentproject-managementcalcomwebhookai_surface

Details

70 steps 5 configurable settings recipe_id: start-paid-booking-fulfillment-calcom