# Available Actions

Actions let Zapier make changes in your FlowBookings account automatically.

### How Actions Work

When a Zap runs, the action is the task that gets performed. Actions use information from the trigger (or previous steps) to update, create, or find items in FlowBookings.

{% hint style="warning" %}
**Note:** Actions require data from earlier steps in your Zap. You'll map fields from your trigger to the action.
{% endhint %}

***

### Update Booking Status

Change a booking's status automatically based on events in other apps.

#### Available Statuses

You can update bookings to any of these statuses:

* **APPROVED** - Confirm the booking
* **PENDING** - Move back to pending (rare, but available)
* **CANCELED** - Cancel the booking
* **REJECTED** - Decline the booking request
* **NO\_SHOW** - Mark that the customer didn't attend
* **COMPLETED** - Mark the service as delivered

#### When to Use This

**Approve bookings automatically:**

* When payment is received in Stripe
* When a contract is signed in DocuSign
* When a deposit is confirmed

**Cancel bookings automatically:**

* When a refund is issued in PayPal
* When a customer submits a cancellation form
* When payment fails

**Mark bookings complete:**

* When a meeting ends in Calendly
* When you log time in your time tracking app
* When a form is submitted confirming service delivery

**Mark as no-show:**

* When a Zoom meeting has no attendees
* When you manually mark it in another system

#### What Information You Need

To update a booking status, you'll need:

* **Booking ID** - Usually comes from a trigger like "New Booking"
* **New Status** - The status you want to set

#### Example Use Case

**Scenario:** You want to automatically approve bookings when customers pay via Stripe.

**Setup:**

1. Trigger: Charge Succeeded in Stripe
2. Filter: Only continue if charge metadata contains booking ID
3. Action: Update Booking Status in FlowBookings
   * Booking ID: Get from Stripe metadata
   * Status: APPROVED

**Result:** Customers get instant confirmation when they pay. No manual work needed.

#### Important Notes

* You **cannot** change the status of bookings that are already CANCELED, REJECTED, or COMPLETED
* Status changes are permanent and trigger email notifications to customers (if configured)
* Status names are case-insensitive (you can use "approved" or "APPROVED")

***

### Find Booking

Look up a specific booking by its ID and get all its details.

#### When to Use This

**Retrieve booking information:**

* Get booking details to include in emails
* Look up booking data before making decisions
* Pull booking information into other apps
* Verify booking exists before taking action

**Common scenarios:**

* Customer sends a booking ID in support ticket → Find booking → Display details
* External form submission includes booking ID → Find booking → Send confirmation
* Payment includes booking reference → Find booking → Update status

#### What Information You Need

* **Booking ID** - The unique identifier for the booking (usually from a form, email, or previous Zap step)

#### What Information You Get

When you find a booking, you'll receive all its details:

* Customer name and email
* Service name
* Booking date and time
* Current status
* Price
* Any custom form data
* Internal notes

#### Example Use Case

**Scenario:** Customers can submit a cancellation request form with their booking ID. You want to look up the booking and send them a confirmation.

**Setup:**

1. Trigger: New response in Google Forms
2. Action: Find Booking in FlowBookings
   * Booking ID: From form response
3. Action: Update Booking Status
   * Booking ID: From step 2
   * Status: CANCELED
4. Action: Send email in Gmail
   * To: Customer email from step 2
   * Include: Booking details and cancellation confirmation

**Result:** Self-service cancellations with automatic confirmations.

***

### Find Services

Retrieve all available services in your FlowBookings account.

#### When to Use This

* Sync your full service list to a Google Sheet
* Populate a dropdown in an external form with your current services
* Monitor when your service catalogue changes

#### What Information You Get

For each service you'll receive: service name and description, price, duration, category, capacity, buffer settings.

#### Example Use Case

**Scenario:** You want to keep a Google Sheet up to date with all your current services and prices.

**Setup:**

1. Trigger: Schedule in Zapier (runs daily)
2. Action: Find Services in FlowBookings
3. Action: Update rows in Google Sheets with returned service data

**Result:** Your service catalogue stays current automatically.

***

### Tips for Using Actions

#### Map Fields Correctly

When setting up actions, make sure you're pulling data from the right step in your Zap. Use the dropdown to select the correct field.

#### Handle Errors Gracefully

Add error handling to your Zaps:

* Use filters to check if required data exists before running actions
* Add notification steps if actions fail
* Test with various scenarios (missing data, wrong format, etc.)

#### Test Before Going Live

Always test your actions with real data to make sure they're updating the right bookings with the correct information.

#### Use Search Actions Wisely

"Find Booking" and "Find Services" actions count as tasks in Zapier. Only use them when you actually need to retrieve information.

#### Combine Multiple Actions

You can chain actions together in one Zap:

1. Find Booking (to get details)
2. Update Booking Status (to change status)
3. Send email (to notify customer)

This creates powerful automated workflows.

***

### Action Limits

#### Status Update Rules

* Cannot update bookings that are already in terminal states (CANCELED, REJECTED, COMPLETED)
* Status changes are immediate and cannot be undone
* Email notifications may be triggered (based on your FlowBookings settings)

#### Search Accuracy

* "Find Booking" and "Find Services" require exact ID matches
* If no matching item is found, the action will fail (you can configure error handling)

***

### Common Action Workflows

#### Payment → Approval Flow

1. **Trigger:** Payment received (Stripe, PayPal, etc.)
2. **Action:** Update Booking Status to APPROVED
3. **Action:** Send confirmation email

#### Cancellation → Cleanup Flow

1. **Trigger:** Cancellation request (form, email, etc.)
2. **Action:** Find Booking (get details)
3. **Action:** Update Booking Status to CANCELED
4. **Action:** Remove event from calendar
5. **Action:** Send cancellation confirmation

#### Service Completion Flow

1. **Trigger:** Meeting ends (Zoom, Calendly, etc.)
2. **Action:** Update Booking Status to COMPLETED
3. **Action:** Send follow-up email with review request

***

**Need help setting up an action?** Check out our [Getting Started](https://docs.flowbookings.io/knowledgebase/integrations/zapier-integration-guide) guide or visit the Zapier Integration overview.
