Multi-Step Zaps with Cotizera
What are Multi-Step Zaps?
A basic Zap has one trigger and one action. A multi-step Zap chains multiple actions, searches, filters, and conditions into a single workflow. This lets you create complex automations like:
- Find a client → create a quote → notify the team
- Detect accepted quote → create invoice in QuickBooks → log in Sheets → notify on Slack
Multi-step Zaps require a paid Zapier plan (Starter or above).
Example 1: Quote Created → Find Client → Update CRM → Notify Slack
This 4-step workflow automatically syncs new quotes with your CRM and notifies the sales team.
Step 1: Trigger — New Quote
- Select Cotizera → New Quote as the trigger
- Connect your account with your API key
- Test the trigger to get sample data
Step 2: Search — Find Client in CRM
- Add a step: HubSpot → Find Contact
- Search by email using
{{clientEmail}}from step 1 - This retrieves the contact ID in HubSpot
Step 3: Action — Update CRM Contact
- Add a step: HubSpot → Update Contact
- Use the contact ID from step 2
- Update "Last Quote" field with
{{quoteNumber}} - Update "Pipeline Value" with
{{total}}
Step 4: Action — Notify on Slack
- Add a step: Slack → Send Channel Message
- Channel:
#sales - Message:
New quote {{quoteNumber}} for {{clientName}} (${{total}}) — contact updated in HubSpot
Example 2: New Client → Create Welcome Quote → Send via Email
This workflow uses Cotizera as both trigger AND action, automatically creating an introductory quote for every new client.
Step 1: Trigger — New Client
- Select Cotizera → New Client as the trigger
- Test to get client data
Step 2: Search — Find Welcome Product
- Add a step: Cotizera → Find Product
- Search by name: "Welcome Package" (or your introductory product name)
- This retrieves the
productIdneeded to create the quote
Step 3: Action — Create Quote
- Add a step: Cotizera → Create Quote
clientId: use{{id}}from step 1 (the new client's ID)items: add the product from step 2 with quantity 1notes: "Welcome quote generated automatically"
Step 4: Action — Send Email
- Add a step: Gmail → Send Email
- To:
{{email}}from step 1 - Subject:
Welcome to [Your Company] — Your first quote - Body: include the quote number from step 3
Example 3: Quote Accepted → Invoice in QuickBooks → Log in Sheets → Notify
A complete post-sale workflow that automates invoicing and tracking.
Step 1: Trigger — Status Changed
- Select Cotizera → Quote Status Changed as the trigger
- Test the trigger
Step 2: Filter — Accepted Quotes Only
- Add a step: Filter by Zapier
- Condition:
newStatusequalsACCEPTED - If not met, the Zap stops here
Step 3: Action — Create Invoice in QuickBooks
- Add a step: QuickBooks Online → Create Invoice
- Map:
- Customer:
{{clientName}} - Amount:
{{total}} - Reference:
{{quoteNumber}}
- Customer:
Step 4: Action — Log in Google Sheets
- Add a step: Google Sheets → Create Spreadsheet Row
- Map:
- Quote:
{{quoteNumber}} - Client:
{{clientName}} - Total:
{{total}} - Acceptance date: use Formatter to format
{{createdAt}} - QuickBooks Invoice:
{{invoiceId}}from step 3
- Quote:
Step 5: Action — Notify the Team
- Add a step: Slack → Send Channel Message
- Message:
Quote {{quoteNumber}} accepted by {{clientName}} (${{total}}). Invoice created in QuickBooks.
Using Filters and Paths
Filters
Filters stop the Zap if a condition isn't met. Useful examples with Cotizera:
| Filter | Condition |
|---|---|
| Large quotes only | total greater than 10000 |
| Accepted quotes only | newStatus equals ACCEPTED |
| Clients with company only | company exists |
| Exclude test quotes | quoteNumber does not contain TEST |
Paths (Conditional Branching)
Paths let you create branches — different actions based on conditions. For example:
Trigger: Cotizera → Quote Status Changed
- Path A: If
newStatusisACCEPTED→ Create invoice + notify team - Path B: If
newStatusisREJECTED→ Send follow-up email to salesperson - Path C: If
newStatusisSENT→ Schedule reminder in 3 days
Using Formatter Steps
Formatter by Zapier lets you transform data between steps:
Format Currency
- Add Formatter → Numbers → Format Number
- Input:
{{total}} - Format:
$#,##0.00 - Result:
$15,000.00instead of15000
Format Dates
- Add Formatter → Date/Time → Format
- Input:
{{createdAt}} - From format:
YYYY-MM-DDTHH:mm:ss.sssZ - To format:
MM/DD/YYYY - Result:
03/31/2026instead of2026-03-31T14:30:00.000Z
Combine Text
- Add Formatter → Text → Concatenate
- Values:
Quote,{{quoteNumber}},—,{{clientName}} - Result:
Quote COT-0042 — María López
Best Practices
- Name your Zaps descriptively — "Quote accepted → QB Invoice + Slack" is better than "My Zap 1"
- Test each step individually — Use the "Test" button on each step before turning on the full Zap
- Use task history — In Zapier, go to Task History to see past runs and diagnose errors
- Start simple, then expand — Create a 2-step Zap first, verify it works, then add more steps
- Use searches before actions — Always search for an existing record before creating one to avoid duplicates
- Set up error notifications — In the Zap settings, enable email notifications when a step fails
Zapier has a monthly task limit based on your plan. Multi-step Zaps consume one task per execution, regardless of how many steps they have.
Related Resources
- Zapier Integration — Basic connection and triggers guide
- Zapier Troubleshooting — Debugging and common errors
- Webhooks — For integrations that need more control