# Get Event Source: https://docs.flashquotes.com/api-reference/event/get GET /events/{id} Retrieve a single event, optionally expanding related objects Retrieves the event with the given id. By default the response includes the event's own scalar fields plus the foreign-key ids for related objects (`bookingId`, `locationId`, `eventBriefId`). Relations are inlined only when requested via `expand[]`. ## Expanding related objects Pass one or more `expand[]` query parameters to inline related objects. On this endpoint, paths are written as-is — no prefix. ```bash theme={null} curl "https://app.flashquotes.com/api/events/evt_8K3aN1qV2x?expand[]=booking.lead&expand[]=services" \ -H "x-api-key: $FLASHQUOTES_API_KEY" ``` Allow-listed expand paths: | Path | Adds | | ------------------- | ----------------------------------------------------------- | | `location` | The event's `location` object | | `services` | The event's `services` array | | `staff` | The event's `staff` array | | `addons` | The event's `addons` array | | `resources` | The event's `resources` array | | `booking` | The parent `booking` object | | `booking.lead` | `lead` inside `booking` (auto-promotes `booking`) | | `booking.eventType` | `eventType` inside `booking` (auto-promotes `booking`) | | `booking.invoices` | `invoices` array inside `booking` (auto-promotes `booking`) | Requesting any nested `booking.*` path automatically expands `booking` itself — you do not need to list `booking` separately. ### Expanded response With `expand[]=booking.lead&expand[]=booking.invoices`, the response inlines the nested objects under `booking`: ```json theme={null} { "object": "event", "id": "evt_8K3aN1qV2x", "booking": { "object": "booking", "id": "bkg_4F2yL8", "lead": { "object": "lead", "id": "led_2T7nC4", "companyName": "Acme", "firstName": "Jane", "lastName": "Doe", "email": "jane@acme.com" }, "invoices": [ { "object": "invoice", "id": "inv_9P5xK3", "status": "Paid", "total": 250000, "amountPaid": 250000, "amountDue": 0, "url": "https://app.flashquotes.com/invoice/..." } ] } } ``` ### Limits * Maximum **20** expand paths per request (duplicates are deduplicated). * Maximum nesting depth of **4** segments. * Unknown or malformed paths return `400`. # Get Event (Legacy) Source: https://docs.flashquotes.com/api-reference/event/get-legacy GET /event/getEventData/{event_id} Legacy single-event endpoint — use Get Event for new integrations **Deprecated.** This endpoint returns the original flat response shape. It is maintained for backwards compatibility only. For new integrations, use [`GET /events/{id}`](/api-reference/event/get), which supports the standard public API conventions (`object` discriminators, `expand[]`, slim canonical shapes, and the standard error envelope). This endpoint returns comprehensive information about a specific event, including its location, resources, staff assignments, and associated booking details. ### Response The response includes a detailed event object containing: * Event identification and basic details * Location information (venue name, address) * Assigned resources (equipment, machines) * Staff assignments * Associated addons * Booking status and details * Event brief reference ### Common Use Cases * Retrieving event details for display * Checking resource and staff assignments * Verifying event location and timing * Accessing booking information * Confirming addon selections ### Notes * The event ID must be valid and associated with your company * Returns a 404 error if the event is not found * All event times are returned in ISO 8601 format with timezone * Access requires a valid API key with appropriate permissions ### Migrating to `GET /events/{id}` The new endpoint returns a slim default body with foreign-key ids; relations move behind `expand[]`. Key mappings: | Legacy (top-level flat) | v2 (nested via expand) | | ----------------------------------------------------------- | ------------------------------------------------------------- | | `leadCompanyName` | `booking.lead.companyName` (with `expand[]=booking.lead`) | | `booking.eventTypeName` | `booking.eventType.name` (with `expand[]=booking.eventType`) | | `location`, `resources`, `staff`, `addons` (always present) | Available via `expand[]=location`, `expand[]=resources`, etc. | # List Events Source: https://docs.flashquotes.com/api-reference/event/list-events GET /events List events with cursor pagination, date-range filters, and optional expand Returns a paginated list of events for your company, newest first. Supports Stripe-style range filters on `service_start_time` and `created_at`, equality filters on `location_id` and `booking_id`, cursor-based pagination, and inline expansion of related objects. ```bash theme={null} curl "https://app.flashquotes.com/api/events?limit=25&service_start_time[gte]=2026-06-01T00:00:00Z&expand[]=data.location" \ -H "x-api-key: $FLASHQUOTES_API_KEY" ``` ## Pagination List endpoints use cursor-based pagination — pass the `id` of the last event in the previous page as `starting_after`: ```bash theme={null} # First page GET /api/events?limit=25 # Next page GET /api/events?limit=25&starting_after=evt_8K3aN1qV2x ``` The response includes a `hasMore` flag indicating whether further pages exist. ## Date-range filters `service_start_time` and `created_at` accept Stripe-style bracket-notation operators (`gt`, `gte`, `lt`, `lte`). Values must be full ISO 8601 datetimes with a timezone designator (`Z` or `±HH:MM`): ``` ?service_start_time[gte]=2026-06-01T00:00:00Z &service_start_time[lt]=2026-07-01T00:00:00Z ``` Bare dates like `2026-06-01` are rejected — include the time and offset. Multiple operators on the same field combine as a range. ## Expanding related objects `expand[]` accepts the same allow-list as the [single-event endpoint](/api-reference/event/get), with one difference: **every path must be prefixed with `data.`** because the objects you're expanding live inside the envelope's `data` array. ``` ?expand[]=data.location &expand[]=data.booking.lead ``` Limits: 20 paths max per request, depth 4 max (counted after stripping the `data.` prefix). Unknown, malformed, or un-prefixed paths return `400`. ## Sort order Results are always returned sorted by `createdAt desc`. Sort order is not configurable. # List Events (Legacy) Source: https://docs.flashquotes.com/api-reference/event/list-events-legacy GET /event/get-events Legacy date-range list endpoint — use List Events for new integrations **Deprecated.** This endpoint returns the original wrapped response shape and is capped at a 7-day window. It is maintained for backwards compatibility only. For new integrations, use [`GET /events`](/api-reference/event/list-events), which supports cursor pagination, broader date-range filters, equality filters, and `expand[]` for related objects. This endpoint returns a list of events that fall within the specified date range. You can optionally filter events by location. ### Response The response includes an array of event objects containing: * Event identification and basic details * Location information (venue name, address) * Assigned resources (equipment, machines) * Staff assignments * Associated addons * Booking status and details * Event brief reference ### Common Use Cases * Retrieving events for a specific time period * Checking event schedules by location * Planning resource and staff allocation * Reviewing upcoming bookings * Generating event reports ### Notes * Date ranges must be provided in ISO 8601 format with timezone offset (e.g., `2024-01-01T00:00:00-05:00`) * **Maximum date range span is 7 days** * Results are ordered by event start time * Returns a 400 error if date format is invalid or date range exceeds 7 days * Responses are wrapped in an array envelope * Access requires a valid API key with appropriate permissions ### Migrating to `GET /events` The new endpoint uses Stripe-style range filters and cursor pagination instead of a single required date range: | Legacy parameter | v2 equivalent | | -------------------------------- | ----------------------------------------------------------------------------- | | `event_starts_after` (required) | `service_start_time[gte]` (optional) | | `event_starts_before` (required) | `service_start_time[lt]` (optional) | | (7-day cap) | No range cap — use `limit` (default 10, max 100) and `starting_after` to page | | `location` filter | `location_id` query parameter | The response is the standard list envelope (`{ object: "list", url, hasMore, data }`) rather than the legacy wrapped array. # Get Form Response Source: https://docs.flashquotes.com/api-reference/form-response/get GET /api/form-response/{id} Retrieve detailed information about a specific form response This endpoint returns comprehensive information about a specific form response, including all question responses and their associated questions. The response format is optimized for Zapier integration, returning a flattened object structure where questions appear as keys with their corresponding answers as values. This makes it easy to map form data directly to other systems. ### Response The response includes a detailed form response object containing: * Form response identification and metadata * Form and booking associations * Question responses with: * Question details (title, type, requirements) * User's response data * Question metadata (position, system links) * Timestamps for creation and updates ### Common Use Cases * Retrieving submission details for display * Accessing customer responses * Verifying form completion status * Integrating with external systems * Analyzing response data ### Notes * The form response ID must be valid and associated with your company * Returns a 404 error if the form response is not found * All timestamps are returned in ISO 8601 format * Access requires a valid API key with appropriate permissions * Response data format varies based on question type # Introduction Source: https://docs.flashquotes.com/api-reference/introduction Welcome to the Flashquotes API documentation ## Welcome to the Flashquotes API The Flashquotes API enables you to programmatically access and manage your events, bookings, forms, invoices, and tasks. Our REST API provides endpoints for retrieving event data, creating tasks, managing form responses, and accessing invoice information. ## Plan access What you can use depends on your plan: * **Full REST API** — every endpoint in this reference: events, bookings, form responses, invoices, and tasks. Needs the **Scale** plan. * **Zapier** — the endpoints the Flashquotes Zapier app uses. Included with **Pro** and above. [Set up Zapier →](/settings/integrations/zapier) Upgrade anytime in [Plan Settings](https://app.flashquotes.com/settings/plans). ## Authentication All API endpoints require authentication using an API key. You must include your API key in the request headers: ```bash theme={null} 'x-api-key: your_api_key_here' ``` You use one API key for everything. Find it in [Settings > Integrations](https://app.flashquotes.com/settings/integrations). On Pro, it works with the Zapier endpoints. On Scale, it also works with the full REST API. Keep it secret — never share it publicly. ## Base URL All API requests should be made to: ```bash theme={null} https://app.flashquotes.com/api ``` ## Available Endpoints Our API provides several endpoint groups: Manage events, retrieve event details, and list events within date ranges Create and manage tasks on events programmatically Access form submission data and response details Retrieve invoice information and payment details ## Response Format All responses are returned in JSON format. Successful responses will have a 2xx status code, while errors will return appropriate 4xx or 5xx status codes with error details. ### Conventions The current public API follows Stripe-style conventions: * **`snake_case` query parameters, `camelCase` response keys.** * Every returned object carries an **`object` discriminator** (e.g. `"object": "event"`) at the top of its JSON. * List endpoints return a standard envelope: ```json theme={null} { "object": "list", "url": "/api/events", "hasMore": true, "data": [ /* ... */ ] } ``` * Default responses include only an object's own scalar fields plus the foreign-key ids for its relations. Related objects are inlined only when explicitly requested via `expand[]`. ### Expanding related objects By default, an endpoint returns the object's own scalar fields plus foreign-key ids (e.g. an event includes `bookingId`, `locationId`, `eventBriefId`, but not the booking or location objects themselves). To inline a related object, pass its path in `expand[]`: ```bash theme={null} GET /api/events/evt_123?expand[]=location&expand[]=booking.lead ``` **Dot notation** walks the object graph. `booking.lead` reads "expand the booking, then expand the lead inside that booking." Each path segment must be an allow-listed relation on its parent — unknown paths return `400`. ```jsonc theme={null} // expand[]=booking.lead → lead nested inside booking { "object": "event", "id": "evt_123", "booking": { "object": "booking", "id": "bkg_456", "lead": { "object": "lead", "id": "led_789", "...": "..." } } } ``` **Parent auto-promote.** Requesting any nested path automatically expands its parents. `expand[]=booking.lead` includes `booking` in the response even if you don't list `booking` separately. **Multiple paths.** Repeat `expand[]` to combine paths. Comma-separated values are also accepted: `?expand[]=location,services`. #### `data.` prefix on list endpoints On list endpoints, each path **must** be prefixed with `data.` because the objects you're expanding live inside the envelope's `data` array, not at the top level: ```bash theme={null} # Single object — no prefix GET /api/events/evt_123?expand[]=booking.lead # List — every path is prefixed with data. GET /api/events?expand[]=data.booking.lead&expand[]=data.location ``` A list request that omits the `data.` prefix returns `400` with an `invalid_request_error` describing the offending path. #### Limits * Maximum **20** paths per request (duplicates are deduplicated, so `?expand[]=booking&expand[]=booking` counts once). * Maximum nesting depth of **4** segments. On list endpoints, the `data.` prefix doesn't count against the depth — `data.a.b.c.d` is allowed. * Paths must use only allow-listed relation names; the allowed paths are documented on each endpoint. ### Pagination List endpoints use cursor-based pagination: * `limit` — page size (default `10`, maximum `100`). * `starting_after` — the `id` of the last item from the previous page. The response `hasMore` flag indicates whether more pages are available. ### Date-range filters Date fields on list endpoints accept Stripe-style bracket-notation operators: `[gt]`, `[gte]`, `[lt]`, `[lte]`. Values must be full ISO 8601 datetimes including a timezone designator (e.g. `2026-06-01T00:00:00Z` or `2026-06-01T00:00:00-05:00`). ``` ?service_start_time[gte]=2026-06-01T00:00:00Z&service_start_time[lt]=2026-07-01T00:00:00Z ``` ### Error envelope Errors return a structured envelope: ```json theme={null} { "error": { "type": "invalid_request_error", "code": "invalid_parameter", "message": "limit must be an integer between 1 and 100", "param": "limit" } } ``` The `type` field is one of `api_error`, `invalid_request_error`, `authentication_error`, `permission_error`, `rate_limit_error`, or `idempotency_error`. The `code` field is a machine-readable identifier and `param` (when present) names the offending parameter. ## Need Help? If you need assistance or have questions about the API: * Email us at [support@flashquotes.com](mailto:support@flashquotes.com) * Check our documentation for examples and guides * Contact your account manager for enterprise support # List Invoices Source: https://docs.flashquotes.com/api-reference/invoice/list-invoices GET /api/invoice/{booking_id} Retrieve invoice IDs and URLs associated with a booking This endpoint returns the invoice IDs and encrypted invoice URLs associated with a specific booking. ### Response The response includes: * `bookingId`: The ID of the booking * `invoiceIds`: Array of invoice IDs associated with the booking * `invoiceUrls`: Array of encrypted invoice URLs that can be used to access the invoices ### Example Usage Here's an example of how to use this endpoint with curl: ```bash theme={null} curl -X GET 'https://app.flashquotes.com/api/invoice/book_123' \ -H 'x-api-key: your_api_key_here' ``` ### Common Use Cases * Retrieving invoice URLs for a booking * Accessing invoice documents through encrypted URLs * Tracking which invoices are associated with a booking # Create Task Source: https://docs.flashquotes.com/api-reference/task/create POST /api/task/create Create a task for a specific event This endpoint creates a task on an event. Tasks are automatically added to the event's Admin checklist. ### Request Body The request body should be a JSON object with the following fields: | Field | Type | Required | Description | | ------------- | ------ | -------- | ----------------------------------------------------------------------- | | `eventId` | string | Yes | The ID of the event to create the task on | | `description` | string | Yes | The task description | | `dueDate` | string | No | Due date for the task in ISO 8601 format (e.g., `2025-10-20T00:00:00Z`) | ### Example Request ```bash theme={null} curl -X POST https://app.flashquotes.com/api/task/create \ -H "x-api-key: your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "eventId": "cm123abc456", "description": "Call venue to confirm table and chair arrangements", "dueDate": "2025-10-20T00:00:00Z" }' ``` ### Example Response ```json theme={null} { "success": true, "task": { "id": "cm456def789", "description": "Call venue to confirm table and chair arrangements", "dueDate": "2025-10-20T00:00:00.000Z", "eventId": "cm123abc456", "completed": false, "createdAt": "2025-10-13T14:22:00.000Z" } } ``` ### Response Fields | Field | Type | Description | | ------------------ | -------------- | ------------------------------------------------------------ | | `success` | boolean | Whether the task was created successfully | | `task.id` | string | Unique identifier for the created task | | `task.description` | string | The task description | | `task.dueDate` | string \| null | Due date in ISO 8601 format, or null if not provided | | `task.eventId` | string | ID of the event this task belongs to | | `task.completed` | boolean | Whether the task is completed (always `false` for new tasks) | | `task.createdAt` | string | Timestamp when the task was created | ### Common Use Cases * Automatically create follow-up tasks from external systems * Trigger task creation based on booking events or customer actions * Bulk import tasks from spreadsheets or other systems * Automatically create additional tasks after event booking ### Error Responses **400 Bad Request** - Invalid request body or date format ```json theme={null} { "error": "Invalid request body", "details": { "description": { "_errors": ["Task description is required"] } } } ``` **404 Not Found** - Event doesn't exist or doesn't belong to your company ```json theme={null} { "error": "Event not found" } ``` **500 Internal Server Error** - Unexpected error occurred ```json theme={null} { "error": "Internal server error" } ``` ### Notes Date format must be valid ISO 8601 (e.g., `2025-10-20T00:00:00Z`) # Bookings Source: https://docs.flashquotes.com/bookings Learn how to manage bookings, handle multi-day events, and track event details in Flashquotes ## Overview A booking in Flashquotes represents a client's confirmed service agreement, which may include one or multiple event days. Each booking serves as an umbrella that contains payment terms, event details, and client information. Bookings can be created automatically through your booking form or manually for special cases. ## Booking Structure In Flashquotes, there's an important distinction between bookings and events: * **Booking**: The overall service agreement that includes payment terms and client details * **Event**: A single day of service within a booking One booking can contain multiple events (service days), all managed under a single invoice. Each booking includes: * Booking form responses * Payment information * Client details * Associated events * Invoice details * Dynamic booking confirmation If your booking has a signed contract, you can view and download it from the **Contract** tab on the booking page. [Learn more about contracts →](/templates/contracts/overview) ## Creating and Managing Bookings ### Manual Booking Creation To manually create a booking: 1. Navigate to the [Bookings](https://app.flashquotes.com/bookings) page 2. Click the `New Booking` button in the top right 3. Enter booking details: - Client information - Payment terms - Event details - Service requirements Manual booking creation is particularly useful for corporate clients with special payment terms or recurring conventions. ### Managing Multiple Events To add additional event days to a booking: 1. Navigate to the booking view 2. Locate an existing event 3. Click the `Copy` button next to the event 4. Select the new date 5. Customize the timeline and details as needed This is useful for: * Adding setup days * Creating multiple service days * Scheduling recurring events Multi-day bookings allow you to: * Manage multiple events under one invoice * Create different timelines for each day based on service days from the original quote * Track setup and service days separately * Maintain consistent client information across all event days * Handle complex scheduling like wedding weekends or corporate events ## Booking Confirmation ### Dynamic Confirmation Page The booking confirmation page provides clients with: * Most up-to-date event information * Invoice payment links * Site contact details * Parking and loading information * Event timeline for each service day The confirmation page updates automatically whenever you make changes in the admin panel, ensuring clients always have access to the latest information. ### Sharing Confirmations To share a booking confirmation: 1. Open the booking 2. Click `More Actions` in the top right 3. Select `Share Confirmation Link` 4. Send the link to your client ### Booking Confirmation Email Flashquotes automatically emails your customer a confirmation whenever a booking is completed. This is a system email — it sends for every booking and is separate from (and in addition to) any [workflow emails](/workflows/overview) the booking triggers. **How it's sent:** * **To:** the booking contact's email address * **From:** your company name, with replies routed to your company contact email * **Subject:** "Your booking with \[Your Company] is confirmed" **What it looks like:** 1. **Your logo** at the top, if you've uploaded one in [Branding](/settings/branding) 2. **"Your booking is confirmed"** headline with a short thank-you note addressed to your customer by name 3. **Event details** — the event date with start time, and the event address 4. **"See all booking details" button** — styled with your brand color, linking to the customer's [confirmation page](#dynamic-confirmation-page) 5. **Contact footer** — "Questions?" with your company name and contact email Your team gets its own heads-up too — anyone with new-booking alerts turned on in their notification preferences receives an email whenever a new booking comes in. ## Financial Management ### Payment Tracking From the booking view, you can: * View cards on file * See deposit payment details * Record manual payments (ACH/check) * Access and edit invoices To configure payment terms for your quotes, see our [Booking Flow guide](/contacts/booking-flow). ### Invoice Integration Each booking is associated with a single invoice, allowing you to: * Track payments * Manage multiple event charges * Handle recurring billing * Process deposits ## Export Bookings Data ### CSV Export Export your booking data to CSV format for business analytics, accounting reconciliation, and operational reporting. Go to the [Bookings](https://app.flashquotes.com/bookings) page Click the **Export to CSV** button in the top toolbar Your browser downloads a CSV file with up to 1,000 bookings #### Export Contents The booking export includes: * **Client Details**: Name, email, phone, company * **Event Information**: Dates, types, guest counts, locations * **Financial Data**: Total amount, deposits, payments, balance due * **Service Details**: Resources, staff assignments, timelines * **Booking Status**: Confirmed, tentative, cancelled * **Form Responses**: Custom field data from booking forms #### Common Uses * **Accounting**: Reconcile bookings with QuickBooks or other accounting software * **Analytics**: Analyze booking trends, popular services, and seasonal patterns * **Operations**: Plan resource allocation and staff scheduling * **Marketing**: Track conversion rates and ROI from different channels The export respects your current filters. Apply date ranges or status filters before exporting to get specific data subsets. ## Best Practices 1. Use manual booking creation for clients with special requirements 2. Regularly verify booking details are up-to-date 3. Utilize the copy feature for recurring events 4. Keep client confirmation links accessible 5. Monitor payment status regularly 6. Export data regularly for backup and analysis ## Next Steps After creating a booking: * [Set up event details](/events) * [Manage invoices](/invoices) * [Export contact data](/imports-exports/export-contacts) * Track payment status * Coordinate with your team # Calendar Source: https://docs.flashquotes.com/calendar View and manage all your events, quotes, tasks, and payments in one place with the Flashquotes calendar. Use the calendar to see everything happening in your business — booked events, open quotes, tasks, payments, and more — across day, week, month, or agenda views. To open it, go to **Event Schedule** in the sidebar and switch to **Calendar** view using the toggle at the top of the page. ## Switch calendar views The calendar defaults to **Week** view. To change it: 1. Click the **view selector dropdown** in the top-right corner of the calendar. 2. Choose **Day**, **Week**, **Month**, or **Agenda**. On mobile, only **Day** and **Agenda** views are available. ## Navigate dates * Click **Today** to jump back to the current date. * Use the **back/forward arrows** to move by day, week, or month. * Click the **date heading** to open a date picker and jump to a specific date. ## Show or hide item types The left sidebar lets you toggle what appears on the calendar. | Item | Color | | ------------------------ | ---------------------- | | Events | Indigo (solid) | | Quotes (unbooked quotes) | Indigo (dashed border) | | Blocked dates | Slate | | Invoice due dates | Rose | | Tasks | Amber | | Scheduled payments | Teal | | Quote expirations | Slate | Toggle any item type on or off using the checkboxes in the **Calendar items** section. Your preferences save automatically. ## Filter by location, staff, or resource In the **Filters** section of the left sidebar: 1. Select one or more **locations** to scope the calendar. 2. Use **Staff** and **Resources** filters to narrow further — these are faceted by the locations you selected. 3. Click **Clear all** to reset all filters. The location filter only appears if you have multiple locations set up. ## Block out dates 1. Click **Block out dates** at the top of the left sidebar. 2. Fill in the date range and reason. 3. Save. The blocked period appears on the calendar in slate. To remove a blocked date, click it on the calendar and select **Delete** in the slideover. [Learn more about blocked dates →](/calendar-blocked-dates) ## Open item details Click any calendar item to see its details. | Item type | What happens | | --------------------------------------- | ---------------------------------- | | Booked event | Opens a detail slideover | | Quote | Navigates to the quote detail page | | Blocked date | Opens slideover to view or delete | | Task, invoice, payment, or quote expiry | Opens a detail slideover | ## Switch timezones In **Day** or **Week** view, a timezone button appears in the calendar header. Click it to switch the displayed timezone. ## Show service time vs. shift time Events render with their **shift time** by default — the full window your crew is on the clock, including setup and teardown. Toggle to **service time** to show only the customer-facing window. * **Shift time** — ideal for crew scheduling and resource planning * **Service time** — ideal for spotting customer conflicts and reading the calendar at a glance Use the **service time vs. shift time** toggle in the calendar header to switch. ## Multi-day events Events that span more than one day render across each day they touch, so you can see the full footprint of a setup → event → teardown weekend without clicking into the event. ## Resource availability Resource availability is displayed on each day to give you a snapshot view of which days have high resource availability and which days are nearly booked out. [Learn more about resources →](/resources) ## Connect Google Calendar To sync your calendar with Google Calendar, upgrade to Flashquotes Plus. The upsell option appears at the bottom of the left sidebar. The calendar auto-scrolls to the current time when you first open it in Day or Week view — no need to scroll manually to find your next event. # Product Updates Source: https://docs.flashquotes.com/changelog/overview New features and improvements to Flashquotes are released **every week**. This changelog documents product updates and new features in Flashquotes. These updates are rolled out directly to the live application - no separate changelog feature exists within the app itself. ## Leads Is Now Pipeline and Contacts The new Pipeline board showing quote cards organized into stages The Leads page has been split into two views built around how you actually work — quotes to win, and people to know. * **Pipeline** — every open quote on a kanban board, moving through stages from **New inquiry** to **Quote sent** to **Booked**. Drag cards between stages, spot 🔥 hot quotes where the client just engaged, and catch idle quotes before they go cold. Prefer rows? Flip to the list view. * **Custom stages** — add, rename, and reorder stages to match your sales process * **Contacts** — everyone you've quoted or booked in one searchable directory, with quote and booking counts, last activity, filters, and CSV export [Explore the Pipeline →](/pipeline) · [Meet the Contacts page →](/contacts) ## Reorganized Navigation The main sidebar has been streamlined so related tools live together and take fewer clicks to reach. * **Services & items** — Services, add-ons, and resources are now unified under one section with tabs, replacing the separate top-level entries * **Templates** — Quote templates and contracts share a single **Templates** section with tabs * **Payments** — The former Payouts page is now a tab inside **Payments**, so payments, refunds, and payouts sit side-by-side * **Event Schedule** — Events and Calendar are combined into one **Event Schedule** page with a List/Calendar toggle * **Sales Tax under Reports** — The sales tax report has moved into **Reports** * **Workspace switcher** — Switch between the companies you belong to from a new switcher at the top of the sidebar Every page in your bookmarks still works — only the location in the sidebar has changed. [Explore the updated navigation →](/quickstart) ## Per-Line-Item Discounts on Quotes and Invoices Mark down a single service without touching the rest of the order — attach any discount directly to a line item on a quote or invoice. * Pick an existing discount from the line-item editor's **Discount** picker, or create one inline with **+ New discount** * Customers see the original price with a strikethrough next to the discounted price, along with the discount name * Totals, taxes, and QuickBooks sync all use the discounted amount, so your books reconcile automatically * Line-item discounts apply before any order-level discount, floor at \$0, and are never applied to gratuity [Learn about per-line-item discounts →](/contacts/quotes#per-line-item-discounts) ## Group Services into Sections on Your Lead Intake Form Organize 10+ services into named, collapsible groups so leads can find what they need without scrolling a wall of options. * Add named sections (e.g. "Bar service", "Desserts") to the Services question on any form * Drag services between sections, reorder sections, and rename them inline * Leads see sections collapsed by default with a count — tap to expand [Learn about lead intake forms →](/forms/lead-intake) ## Custom Themes for Your Lead Intake Form Customizing the lead intake form theme in the form editor Now you can design a theme for your lead intake form that fully matches your brand and website! Open the design panel from the palette icon in the top-right of the form editor to customize colors, font, and corners and see the changes live on your form. You can even have different themes for different forms and will get live feedback on color pairs for the best form readability. * **Copy from another form** — reuse a theme you've already built via the **Copy from** menu in the Design panel header * **Reset theme** — restore the Flashquotes default, seeded from your company brand color [Customize your form theme →](/forms/lead-intake#custom-themes) ## Add-on and Service Quantities on Events and Event Briefs Quantities for add-ons and services now flow through to events and event briefs, so your team sees exactly how many of each item the customer ordered. * Add-on and service quantities surface on the event details page and the [event brief](/events/event-brief) * Special add-ons still appear as prominent yellow banners — now with quantity included * Quantities update automatically when you edit the underlying quote or booking [Learn more about event briefs →](/events/event-brief) ## Auto-Calculate Travel Fee When Adding Services Add a service to a quote and the travel fee calculates automatically — no second step, no manual math. * Auto-calculate travel fees when adding a new service line item to a quote * Override or remove the calculated fee on any line item * Configure per-service calculation with [service-level travel fees](/services/travel-fees) [Learn about travel fees →](/services/travel-fees) ## Resource Availability and Calendar Improvements See exactly when your resources are free, and view the calendar the way you actually work. * **Resource availability** in the quote editor and on the calendar — spot conflicts before they happen * **Service time vs. shift time** toggle on the calendar to plan around setup and teardown * **Multi-day events** render cleanly across both days [Learn more about resources →](/resources) and [calendar →](/calendar) ## Shortcodes in Line Item Descriptions Use [quote shortcodes](/workflows/shortcodes/overview) inside Service and Add-on line item descriptions on your quotes. * Personalize each line with guest count, event date, customer name, and more * Edit descriptions inline with a rich text editor * Shortcodes resolve when the quote is created [Learn about shortcodes →](/workflows/shortcodes/overview) ## Custom Button Labels on Your Lead Intake Form Editing the CTA button label inline in the lead intake form editor You can now edit the CTA button copy on your lead intake form directly in the form editor — no code, no settings panel. * **First-page button** — defaults to **"Get Custom Pricing"** (or **"Get My Instant Quote"** when Instant Quoting is on) * **Last-page button** — defaults to **"Get My Quote"** (or **"Get My Instant Quote"** when Instant Quoting is on) In the form editor, hover the button to highlight it, click to edit, then press **Enter** or click outside to save. Leave it blank to restore the default. Labels are capped at 100 characters. [Learn how to edit button labels →](/forms/lead-intake) ## Pricing by Event Type Charge differently for the same service depending on the event type — wedding pricing, corporate pricing, festival pricing, set once per service. * Set a price modifier for any event type * Applies everywhere prices are calculated, including instant quoting * Pairs with the new [Event Type form question](/forms/lead-intake) [Learn about pricing →](/services/pricing) ## Event Type on Quotes and Booked Events Ask customers what kind of event they're hosting, then surface that answer where it matters. * New **Event Type** lead intake form question — configure and sort your own options * Event type displays on the quote, the event details page, and booked events * Use it for filtering, reporting, and event-type pricing [Learn about lead intake forms →](/forms/lead-intake) ## Tiered Pricing for Volume Discounts Offer volume discounts on services and add-ons by setting per-guest pricing tiers. * **Service tiers** — drop the per-guest rate as guest counts climb, with an optional minimum hourly guests floor * **Add-on tiers** — the same volume-discount logic applies to add-ons [Learn about service pricing →](/services/pricing) and [add-ons →](/services/add-ons) ## Surge Pricing and Days-Out Modifier Charge more when resource availability is low or when bookings come in late — automatically. * **Surge pricing** — percentage uplift triggered when [resources linked to a service](/resources#service-specific-resources) are scarce on the event date (service-aware, no flat-fee option) * **Days-out modifier** — modify pricing based on event lead time (upcharge rush jobs, premium-price far-out reservations, or both) [See Scale plan features →](/settings/plans) ## Per-Staff-Hour Travel Billing Bill drive time per staff member in addition to your per-mile, per-resource travel fee. * Travel labor scales with crew size — the per-mile, per-resource charge still covers the vehicles * Added on top of the existing travel fee (not subject to the mileage minimum) [Learn about travel fees →](/services/travel-fees) ## Per-Shift-Hour Labor Pricing Choose how hourly labor is counted on each service — by **shift hours** (full on-site time, including setup and teardown) or **service hours** (the customer-facing window only). * Both modes exclude travel — bill drive time separately via [travel fees](/services/travel-fees) * Pairs naturally with [per-staff-hour travel billing](/services/travel-fees) to itemize travel as its own line [Learn about service pricing →](/services/pricing) ## Service-Level Travel Fees Travel fees are now configured and calculated **per service** — each service on a quote gets its own travel fee based on its core resources. * **Free Travel Radius**: Set a radius around your business with no travel charge — events outside the radius are charged on the full distance * **Per-Service Settings**: Each service has its own price per mile and minimum fee * **Resource-Aware**: Fees calculate from the resources needed for that specific service * **Editable Line Items**: View the calculation breakdown and edit or remove travel fees per service [Learn about travel fee settings →](/services/travel-fees) ## Platform Fee Flexibility You set how to pay for the platform fee - either pass it to the end customer (**default**) or absorb it. Easily override your company's platform fee setting to absorb or pass the fee at a customer quote level. For example, you can choose to absorb and not show any fee to certain customers. [Learn about platform fee options →](/settings/plans#platform-fee) ## Staff & Resource Rules Now you can always calculate the right number of staff and resources for each service, allowing you to dial in your autodraft and instant quotes! Set per-service staffing rules that automatically calculate staff and resource quantities on quotes. Choose from four modes — Hourly Capacity, By Guest Count, By Duration, or By Guest Count + Duration — based on how your staffing scales. [Learn more about Staff & Resource Rules →](/services/staff-resource-rules) ## Show or Hide Tip on Event Briefs Control whether staff can see pre-paid gratuity amounts on event briefs. The setting lives on the event details page under the **Tip amount** field — click the inline link to toggle it on or off company-wide. When hidden, the "Pre-paid gratuity" in the **Setup** section of the event brief will not be shown. [Learn how to change the setting →](/events/event-brief#gratuity-visibility) ## Notes on Leads Add notes directly to any lead. Create, edit, delete, and pin notes from the new **Notes** tab on the lead detail page. Pin important notes to keep them at the top, and use search to find what you need fast. [Learn more about managing leads →](/contacts) ## Per-Unit Pricing for Services Add per-unit pricing to any service — useful for services where you want to price based on user selected quantities. * Set a unit name, price per unit, and optional min/max quantity limits * Customers see a quantity selector on the lead intake form for services with unit pricing [Learn more about service pricing →](/services/pricing) ## Invoice and Payment Exports Improved sorting, filtering and search on the Invoices view as well as a new Payments view under Finance > Payments. Additionally, you can now export both Invoice and Payments to CSV to support accounting and data analysis. [Learn more about invoices →](/invoices) and [Learn more about exports →](/imports-exports/overview) ## Quote PDF Download Download or print any quote as a PDF. Open a quote and click the menu icon to find the new **Download PDF** and **Print** options. The PDF includes your full quote details, line items, and pricing — ready to share offline. [Learn more about the quote page →](/contacts/quote-view) ## Pay Full Balance at Booking Customers with a deposit payment schedule now see a **"Pay full balance today"** checkbox on the booking form. When toggled, the full invoice amount due is charged in a single transaction instead of a deposit with a later balance payment. [Learn more about payment terms →](/contacts/booking-flow) *** ## Quote Booked Workflow Trigger Create workflows that fire automatically when a quote is booked. Select "When a quote is booked" as the trigger when creating a new workflow. Use booking and lead shortcodes in your message templates to personalize post-booking communications. [Learn more about triggers →](/workflows/triggers) *** ## Hide Services from Lead Intake Form Control which services appear on your public lead intake form. In the form builder, each service now has a toggle switch to show or hide it. Hidden services won't appear to customers but stay available for quotes you build manually. [Learn more about the lead intake form →](/forms/lead-intake) *** ## New Booking Shortcodes Six new shortcodes are available for booking-based workflow templates: * `{{booking.first_event_end_date}}` and `{{booking.first_event_end_time}}` — end of the first event * `{{booking.last_event_start_date}}` and `{{booking.last_event_start_time}}` — start of the last event * `{{booking.first_event_address}}` — venue address * `{{booking.first_event_guest_count}}` — guest count (shows "TBD" if not set) [View all shortcodes →](/workflows/shortcodes/overview) ## Multiple Quote Follow-Up Workflows Create as many Quote Sent workflows as you need. Previously limited to one, you can now build different follow-up sequences for different situations — and choose which workflow to enroll a quote in when sending. * Designate a default workflow per trigger type * Default is pre-selected in the send quote modal * Switch workflows per quote as needed [Learn more about workflows →](/workflows/overview) ## Per Guest Per Hour Add-on Pricing A new add-on pricing type lets you charge based on guest count and service duration combined. Set a per-guest-per-hour rate, and the price calculates automatically: rate x guests x hours. **Example**: $2/guest/hr add-on with 50 guests, 1 day, 4 hours = $400 [Learn more about add-on pricing →](/services/add-ons) ## Calendar Month View The calendar is completely rebuilt. You now have four views, a smarter sidebar, and full control over what you see. **Views** * Day, Week, Month, and Agenda views (Week was the only option before) * On mobile, Day and Agenda views only * Week and Day headers include a timezone switcher * Calendar auto-scrolls to current time on load **Sidebar** * Toggle visibility for Events, Quotes, Blocked dates, Invoice due dates, Tasks, Scheduled payments, and Quote expirations * Filter by Location, Staff, and Resource — Staff and Resource filters update based on selected locations * "Block out dates" button for quick date blocking * "Clear all" resets all filters at once **Clicking items** * Events, Tasks, Invoices, and Payments open a detail slideover * Quotes navigate directly to the quote page * Blocked dates let you view or delete them Your sidebar visibility preferences save automatically in your browser. [Learn more about the calendar →](/calendar) ## Service-Specific Add-ons You can now control which add-ons are available for each service. When a customer selects services on a quote request form, only add-ons linked to those services are shown. * **Configure per service** — On the service detail page, use the "Linked Add-ons" section to select which add-ons apply * **Multiple services** — When multiple services are selected, the customer sees every add-on linked to any of the selected services * Add-on options update instantly as customers change their service selection on forms [Learn more →](/services/core-services#service-specific-add-ons) *** ## Service-Specific Resources You can now control which resources are eligible for each service, ensuring the right equipment is matched to the right services. * **Configure per service** — On the service detail page, use the "Linked Resources" section to select which resources can fulfill the service * **Date selection** — The date picker on your lead intake form now reflects only the resources linked to the selected services * **Availability badges** — Quote presentation and booking form availability badges update based on linked resources * **Multi-day events** — The date picker checks that linked resources are available for every consecutive day, not just the start date * **Multiple services** — When a quote includes multiple services, only resources linked to all selected services count toward availability [Learn more →](/services/core-services#service-specific-resources) ## Conditional Logic for Booking Forms Show or hide form pages based on what a customer has already selected. Set rules like "show this page when the service selected is the Premium Package" or "show this page when the Custom Branding add-on is included." Flashquotes automatically skips hidden pages and drops their required fields. **How it works:** * Open any booking form and go to the new **Logic** tab * Set visibility conditions per page using the service or add-on the customer selected * Pages match on ANY rule (OR logic), or show always if no rules are set * Hidden pages are skipped automatically and their fields won't block form submission Only available for booking forms. Lead intake form support is coming soon. [Set up conditional logic →](/forms/conditional-logic) ## New Pricing Options * **Per unit per guest add-on pricing** — Add-ons that scale by quantity and guest count (and days); quantity limits apply. [Learn more →](/services/add-ons) * **Minimum price for add-ons** — Optional floor for variable-rate add-ons; if the calculated price is below the minimum, the minimum is used. [Learn more →](/services/add-ons) * **Per guest per hour service pricing** — Service price scales with both guest count and event duration (e.g. \$3/guest/hr for bar service). [Learn more →](/services/pricing) *** ## QuickBooks Deposit Sync Improvements QuickBooks deposits now sync based on actual Stripe payouts instead of being created immediately with each payment. This aligns your QuickBooks records with real bank deposits for easier reconciliation. **What changed:** * **Stripe payments**: Deposits are created automatically when Stripe sends the payout to your bank, grouping multiple payments into a single deposit that matches your bank statement * **Manual payments** (cash, check): Continue to create deposits immediately when synced * **Payout trace ID**: Each deposit includes the Stripe trace ID for automatic bank reconciliation * **Failed payouts**: If a Stripe payout fails, the corresponding deposit is automatically removed [QuickBooks sync docs →](/finance/quickbooks-sync) | [QuickBooks integration →](/settings/integrations/quickbooks) *** ## Saved Filters & Sorting on Leads Table Your lead table filters and sort preferences are now automatically saved and restored when you return to the page. No more re-applying the same filters every time you navigate away. **What's saved:** * Date range filter * Lead status filter * Source filter * Location filter * Lead owner filter * Sort column and direction Preferences are saved per company, so switching between companies loads the right view for each. Click **Clear filters** to reset everything back to defaults. [Learn about managing leads →](/contacts) ## Global Currency Support Flashquotes now supports multiple currencies and locales, enabling businesses outside the United States to quote, invoice, and accept payments in their local currency. **Supported Currencies:** | Currency | Code | Symbol | Locales | | ----------------- | ---- | ------ | ------- | | US Dollar | USD | \$ | en-US | | British Pound | GBP | £ | en-GB | | Australian Dollar | AUD | \$ | en-AU | | Canadian Dollar | CAD | \$ | en-CA | Currency and locale are configured during company onboarding based on your country. All amounts — quotes, invoices, payments, and reports — display in your company's currency with locale-appropriate formatting. [Learn about company settings →](/settings/general#currency-and-locale) ## Google Analytics & Tag Manager Integration Google Tag Manager and Google Analytics integration with Flashquotes Finally know which marketing channels are actually driving bookings. Connect Google Analytics 4 or Google Tag Manager to track every step of your lead funnel — from form view to submission. **What You Can Track:** * **Form views** — See how many people land on your intake form * **Form starts** — Know when someone begins filling out your form * **Lead conversions** — Track successful submissions as conversions UTM parameters are automatically captured, so you can attribute leads back to specific campaigns, ads, and traffic sources. Build conversion funnels in GA4, optimize your ad spend, and finally prove ROI on your marketing efforts. Using Google Tag Manager? Push events to your dataLayer to fire Facebook Pixel, LinkedIn Insight Tag, TikTok Pixel, and any other tracking tools — all from one place. [Set up Google Analytics →](/settings/integrations/google-analytics) | [Set up Google Tag Manager →](/settings/integrations/google-tag-manager) ## Enhancements to Leads Dashboard We gave the lead table some love with faster data retrieval and more functionality! **New Columns** * Upcoming Bookings count - View future confirmed events * Lead Created date * Latest Quote date * Lead Owner - the company member assigned to this lead * Latest Communication - See the date of your last email with the lead **Improved Functionality** * All columns are sortable * Lead owner filter (Plus/Pro plans) * Sticky first column for easier scrolling on wide tables The enhanced table gives you instant visibility into lead engagement and helps prioritize follow-up actions. [Learn about managing leads →](/contacts) ## Bulk Enroll Bookings in Workflows Save time by enrolling multiple upcoming bookings into workflows at once. **Key Features** * Select multiple bookings with upcoming events * See booking details including event name, date, and location * Only eligible bookings appear (future events, not already enrolled) Perfect for enrolling existing bookings when you create a new pre/post-event workflow. [Learn about bulk enrollment →](/workflows/workflow-enrollments#bulk-enrolling-bookings) ## Lead Owner Assignment Assign leads to specific team members for better accountability and organization. Lead owners appear in the lead table and can be used as a filter to view your assigned leads. **Key Features** * Assign leads from the lead edit drawer * See lead owner in lead header and table * Filter leads by owner (Plus/Pro plans only) * Internal support accounts automatically hidden from assignment lists **Plan Availability** * Plus: Assign leads to team members * Pro: Assign leads to team members Perfect for teams managing leads collaboratively or tracking individual team member performance. [Learn about managing leads →](/contacts) ## Digital Contracts Add contracts to your booking flow with electronic signatures. Customers review and sign contracts before payment, allowing you to include a formal contract on any of your quotes. **Key Features** * Rich text editor with headers, lists, and signature blocks * Dynamic shortcodes for personalized contract content * Electronic signature capture with legal acknowledgment * Signed contracts are linked to the booking for you and your client to reference * Download and print signed contracts anytime **Plan Availability** * Plus: Up to 2 contract templates * Pro: Unlimited contract templates [Learn about contracts →](/templates/contracts/overview) ## Refunded Invoice Status Invoices now display a "Refunded" status when all payments have been fully refunded. **What changed:** * Gray "Refunded" badge appears when net payments equal zero after refunds * Refunded invoices don't count toward "amount due" or "overdue" totals * Status updates automatically when refunds are processed This makes it easier to distinguish fully refunded invoices from active ones at a glance. [Learn about invoices →](/invoices) ## Redesigned Booking Experience with Native Payments The customer booking experience has been completely redesigned with a streamlined step-by-step flow and integrated payment processing. **Visual Progress Tracker** * Clear step indicator showing progress through Details, Payment and Confirmation * Clickable steps allow customers to navigate back and review their information * Brand-colored theming matches your company colors **Integrated Payment Experience** * Customers complete payment directly within Flashquotes — no redirect to Stripe checkout * Embedded Stripe Payment Element for secure card entry * Real-time order summary updates as customers fill out their booking details * Supports all payment term types: Full Payment, Deposit, Card on File, and Invoice Only ## Invoice Payment Breakdown Invoices now display a detailed breakdown of all payments and their status, giving both you and your customers complete visibility into payment history. **Payment Details** * Each payment shows the date, payment method, and amount * Card payments display the card brand and last 4 digits (e.g., Visa •••• 4242) * Pending payments are clearly distinguished from completed payments * Refunds appear in the breakdown with negative amounts **Automatic Receipt Links** * Payments processed through Stripe automatically include a receipt link * Click the payment amount to open the Stripe receipt in a new tab * Perfect for customers who need receipts for expense reports or records **Enhanced Invoice PDF** * Payment breakdown is included when you download or print the invoice * Card details and receipt links are preserved in the PDF export [Learn about invoices →](/invoices) ## Quote Templates Create multiple reusable quote designs tailored to different event types, services, or branding variations. Instead of a single global template, you can now build a library of templates and apply the right one to each quote with a single click. * **Specialized designs for every occasion**: Create templates for weddings, corporate events, coffee service, and more — each with its own gallery images, testimonials, and add-ons * **Faster quoting**: Apply templates instantly from the Quote Template tab on any quote, or set a default template for new quotes * **Consistent branding**: Maintain professional presentation across your team while still customizing for specific event types [Learn about quote templates →](/templates/quote-templates) | [Configure your quote page →](/contacts/quote-view) ## Simplified Quote Payment Terms We've streamlined how you configure payment terms on quotes. Using the new **booking flow**, you can now: * Select how you want each quote to be paid directly from the quote editor * Set a default payment terms to apply to all new quotes * Easily add new payment terms without needing a separate booking form [Learn about booking flow →](/contacts/booking-flow) ## Per-Resource Pricing Set a "Price Per Resource" on services to automatically adjust quotes based on equipment or station counts. Perfect for businesses that charge per booth, per bar, per machine, or per station. The pricing formula now includes resource costs alongside base price, staff, and guest pricing. [Configure service pricing →](/services/pricing) *** ## Void Invoices Cancel invoices while keeping them in your records for accounting purposes. Voided invoices display a "Void" status and are excluded from revenue statistics, but remain visible in your invoice list for audit trail purposes. Available for invoices with no payments recorded. [Learn about voiding invoices →](/invoices/voiding) ## Improved Travel Fee Calculations Travel fees now scale with the number of core resources on your quotes. The updated formula calculates fees per resource per day, ensuring accurate pricing for multi-resource events. The minimum fee also scales accordingly - for example, a \$35 minimum with 2 resources over 2 days results in a \$140 effective minimum *(\$35 x 2 x 2)*. [Learn about travel fee settings →](/services/travel-fees) ## Lead Intake Form Editor Upgrade Your lead intake form is now fully customizable. Add custom questions, drag to reorder, move questions between pages, and remove what you don't need. The redesigned editor shows every question at a glance so you can build exactly the form your business needs. [See how it works →](/forms/lead-intake) ## First Event Start Trigger Automate customer communications around your actual event dates with two powerful new workflow triggers: **First Event Start** and **Last Event End**. These triggers allow you to send perfectly timed emails before, during, or after events based on when they actually occur. ### First Event Start Trigger Trigger workflows based on when the first event in a booking begins. Perfect for pre-event reminders, preparation instructions, or day-of communications. ### Last Event End Trigger Trigger workflows based on when the final event in a booking concludes. Ideal for post-event follow-ups, review requests, and relationship nurturing. **How It Works:** 1. Create a workflow and select First Event Start or Last Event End as the trigger 2. Add email steps with delays relative to the event time (e.g., "2 days before" or "1 day after") 3. Publish the workflow 4. When bookings are created, workflows automatically enroll and schedule based on actual event dates 5. If event times change, workflow emails automatically reschedule [Learn about workflow triggers →](/workflows/triggers) | [View all shortcodes →](/workflows/shortcodes/overview) ## Unified Email Inbox Manage all your lead communications in one place with the new Inbox feature. View and organize Gmail messages synced from your connected accounts, see associated lead information at a glance, and mark emails as done to keep your inbox clean. **Key Features:** * **Thread-Based Organization**: Emails grouped by conversation with participant lists and message counts * **Lead Integration**: Instantly see which leads are associated with each email thread via hover cards * **Multi-Account Support**: Filter by different connected Gmail accounts * **Mark as Done**: Remove emails from your inbox once handled, syncs back to Gmail * **Real-Time Sync**: Email updates and label changes sync automatically with Gmail [Learn more about the Inbox →](/inbox) ## Rich Text Editor for Special Notes Special notes on quotes and events now use a visual rich text editor instead of Markdown. Format your internal notes with bold, italic, headings, lists, links, and dividers using familiar toolbar buttons - no Markdown syntax required. **What's New:** * **Visual Formatting Toolbar**: Format text with buttons instead of typing Markdown * **Full Formatting Support**: Bold, italic, underline, strikethrough, headings (H1-H3), bullet and numbered lists, horizontal rules, and links * **Keyboard Shortcuts**: Press `Cmd+Enter` (Mac) or `Ctrl+Enter` (Windows) to save quickly * **Backwards Compatible**: Existing Markdown notes automatically convert when you edit them Perfect for creating well-organized internal notes with clear structure and formatting. Special notes remain internal-only and are not visible to customers. ## Import Bookings from CSV Save time migrating data or adding historical bookings with the new CSV import feature. Upload up to 100 bookings at once using a simple spreadsheet format, perfect for businesses transitioning from other systems or adding past events to Flashquotes. **What's New:** * **CSV Template**: Download a pre-formatted template with all required fields and example data * **Column Mapping**: Upload your CSV and map columns to Flashquotes fields with auto-matching * **Real-time Validation**: Errors are highlighted before import with specific guidance on fixes * **Background Processing**: Large imports run in the background with progress tracking and detailed results **How It Works:** 1. Download the CSV template from the Import Bookings page 2. Fill in your booking data with event details, client info, and pricing 3. Upload and map your columns to Flashquotes fields 4. Review validation, fix any errors, then import 5. Track progress and view results with success/failure breakdown Imported bookings include all event details, timeline entries, and trigger event brief tasks automatically. Email notifications are not sent during import to avoid duplicate communications. [Learn how to import bookings →](/imports-exports/import-bookings) ## Bulk Apply Admin Tasks to Upcoming Events When you update your admin task templates, apply those changes to all upcoming events with one click. Go to Settings → Tasks → Admin Default Tasks, click the menu icon, and select "Apply to events" to sync your latest task checklist across all future bookings. ## Auto-Invite Staff to Calendar Events Automatically manage Google Calendar attendees when staff is assigned to or removed from events. When enabled, assigned staff members receive calendar invitations via email, ensuring everyone knows about their scheduled events without manual invite management. **Perfect For:** * Teams that need calendar-based event notifications * Ensuring staff have event details in their personal calendars * Eliminating manual calendar invite workflows * Keeping team schedules synchronized automatically [Configure auto-invite settings →](/settings/integrations/google-calendar#auto-invite-staff-to-calendar-events) *** ## Manage Required Questions in Lead Intake Forms Control which questions are mandatory for form submission with a simple toggle. Mark custom questions as required or optional to balance conversion rates with data collection needs. **What's New:** * **Required Toggle**: Easily mark questions as required or optional in the form editor * **System vs User Required**: Some questions are required by Flashquotes and cannot be changed, while custom questions can be toggled * **Smart Validation**: Required questions must be completed before form submission [Learn how to manage required questions →](/forms/lead-intake#required-questions) ## Google Calendar Sync Timing Options Choose whether calendar events sync based on **service time** (customer-facing event hours) or **shift time** (full staff shift including setup, breakdown, and travel). This affects how events appear in your Google Calendar - either showing just the service window or your complete time commitment for each booking. [Configure calendar sync timing →](/settings/integrations/google-calendar#choose-service-time-or-shift-time) ## Shortcodes in Default Quote Email Body Personalize your default quote email body with dynamic shortcodes like `{{lead.first_name}}`, `{{company.name}}`, or `{{quote.event_date}}`. Set your template once and every quote email automatically includes personalized details. Live preview shows how your email renders with real quote data before saving. [Configure quote email settings →](/settings/quotes#quote-delivery) | [View all shortcodes →](/workflows/shortcodes/overview) ## Quote Requested Workflow Trigger Automatically engage leads the moment they submit a quote request through your lead intake forms. The new Quote Requested workflow trigger enrolls leads in customized email sequences immediately after form submission, helping you nurture interest before you even send a formal quote. **What's New:** * **Automatic Enrollment**: Leads who submit your lead intake form are automatically enrolled in Quote Requested workflows * **Customizable Sequences**: Create personalized email templates that send while you're preparing their quote * **Smart Timing**: Engage leads during the critical window between request and quote delivery * **Gmail Integration**: Choose which connected Gmail account sends workflow emails **How It Works:** When a lead submits your intake form, Flashquotes automatically enrolls them in any active Quote Requested workflows. These emails can acknowledge their submission, share your company story, provide helpful planning tips, or build excitement while you prepare their custom quote. **Perfect For:** * Immediate acknowledgment emails confirming quote request receipt * Educational content about your services while leads wait * Building trust and rapport before the first formal quote * Keeping leads engaged during your quote preparation process Quote Requested workflows complement the existing Quote Sent workflows, giving you complete automation coverage from initial inquiry through booking. [Learn about workflow triggers →](/workflows/triggers) [Track enrollments at the workflow level →](/workflows/workflow-enrollments#tracking-enrollments) ## Enhanced Quote Expiration for Last-Minute Bookings Quotes now expire at **midnight the day before the event** instead of at the event start time. This prevents your team from having a last minute booking without first confirming that you can service the event. **What Changed:** * Event on Oct 27 at 2pm MST → Quote expires Oct 26 at 12am MST (previously expired at 2pm Oct 27) * Expired last-minute quotes now show specialized messaging encouraging customers to contact your team This change automatically applies to all new quotes and better supports last-minute event bookings. ## Workflow Management Enhancements You can now customize workflow sequences to match your sales process: * **Add Steps**: Insert additional follow-up emails at any position in your workflow with custom timing, subject and email body * **Delete Steps**: Remove steps that don't fit your strategy (immediately stops them from sending, even for active workflows) * **Resume Workflows**: Restart stopped workflows from the Lead Workflows tab when leads re-engage [Learn about workflow customization →](/workflows/templates#customizing-your-workflow) ## Sign in with Microsoft Users can now create accounts and sign in using their Microsoft work or personal accounts alongside the existing Google authentication option. ## Gmail Integration Enhancements We've improved the email composer and workflow automation for [Pro/Plus subscribers](https://app.flashquotes.com/settings/plans) with Full Gmail Integration. **What's New:** * **Easily compose new email**: Click the email icon on any lead in the list view to start composing a new message * **Workflow auto-stop on email reply**: When leads reply to emails, active quote follow-up workflows deactivate automatically. This ensures you never send automated follow-ups after a lead has already responded, maintaining a personal touch throughout the sales process. [Learn more about gmail integration →](/settings/integrations/google-gmail-read) ## Google Calendar Selection Choose exactly which Google Calendar receives your Flashquotes events. No more cluttering your primary calendar - sync events to dedicated event calendars for better organization. **What's New:** * **Calendar Selection**: Choose specific calendars for syncing * **Smart Migration**: Events automatically move when you change calendars * **Per-Location Control**: Different locations can sync to different calendars * **Organized Schedules**: Keep personal and business events separate **Perfect For:** * Keeping Flashquotes events out of personal calendar * Better calendar sharing with team members * Taking advantage of GCal customizations like colors [Set up calendar selection →](/settings/integrations/google-calendar#choose-a-specific-calendar) ## QuickBooks Custom Line Item Mappings Fine-tune your accounting with custom QuickBooks mappings for specific services, add-ons, and service charges. This enhancement gives you granular control over how individual items sync to QuickBooks Online, allowing you to have more flexible accounting treatment for invoice line items. **What's New:** * **Item-Specific Mapping**: Override default mappings for individual services, add-ons, and service charges * **Flexible Accounting**: Map specific items to different QuickBooks items for specialized accounting treatment * **Easy Management**: Add, view, and delete custom mappings directly from QuickBooks settings * **Priority System**: Custom mappings automatically override default line item type mappings [Learn how to set up custom mappings →](/finance/quickbooks-custom-mappings) | [QuickBooks Integration →](/settings/integrations/quickbooks) ## Enhanced Google Integration Suite We've significantly expanded our Google integration capabilities to help you streamline communication and scheduling. Flashquotes now offers a comprehensive Google integration with Gmail and Google Calendar sync. **What's New:** ### Gmail Sending Send quotes directly from your Gmail account to maintain conversation history in one place. Your emails remain in your Gmail inbox and sent folder, creating more personal connections with leads while using your existing email signature and branding. [Learn about Gmail sending →](/settings/integrations/google-gmail-send) ### Full Gmail Integration Sync email activity from your leads directly into Flashquotes activity feeds. See the complete context of customer communications without switching between applications. Email threads automatically link to the correct leads and appear in activity feeds within minutes. [Enable full Gmail integration →](/settings/integrations/google-gmail-read) ### Google Calendar Sync Automatically sync booked events to Google Calendar to maintain a unified view of your schedule. Flashquotes creates calendar events with event details, shift times, location, and links back to event details. Updates in Flashquotes automatically sync to Google Calendar, and you can configure different calendars per location. [Configure calendar sync →](/settings/integrations/google-calendar) Get started by connecting your Google account in [Settings → Integrations](https://app.flashquotes.com/settings/integrations). Learn more in our [Google Integration overview →](/settings/integrations/google) ## Advanced Reporting Analytics We've added three powerful new reports to help you analyze business performance and make data-driven decisions. These visualizations provide deep insights into resource utilization, customer behavior, and revenue patterns. New reports dashboard with service utilization, gratuity analysis, and top clients charts **New Reports:** ### 1. Service Asset Utilization Track daily usage of your core service resources with a visual chart showing: * Booked vs quoted assets over time * Maximum capacity indicators * Peak utilization dates * Helps forecast busy periods and optimize resource allocation ### 2. Average Gratuity Analysis Understand customer tipping patterns with detailed metrics including: * Distribution of gratuity percentages selected * Total gratuity revenue * Average tip amounts * Participation rates * Helps optimize gratuity options and predict tip revenue ### 3. Top Clients by Revenue Identify your most valuable customers with: * Ranked list of top 10 revenue-generating clients * Individual client contribution amounts * Average revenue per client * Helps focus retention efforts and recognize VIP relationships **Business Benefits:** * **Better Forecasting**: Visualize patterns to predict demand * **Revenue Insights**: Understand income sources and concentration * **Resource Planning**: Optimize inventory based on actual usage * **Customer Intelligence**: Focus on high-value relationships [View the Reports documentation →](/reports) *** ## Block Calendar Dates You can now block specific dates to prevent new inquiries and automatically manage existing quotes. This powerful feature helps you manage capacity, holidays, and maintenance periods while keeping your calendar accurate. **Key Features:** * **Prevent New Inquiries**: Blocked dates can't be selected on lead intake forms * **Auto-Expire Quotes**: Open quotes on blocked dates expire automatically * **Bulk Selection**: Block up to 30 dates at once [Learn how to block dates →](/calendar-blocked-dates) ## Improved Quote Expiration Management Demonstration of changing quote expiration dates from the lead details page We've enhanced how expired quotes work to protect your business from outdated pricing while giving you more control over expiration dates. These updates ensure customers always receive current pricing and availability. **What's Changed:** * **Expired Quote Protection**: Customers can no longer book expired quotes, preventing issues with outdated pricing or unavailable dates * **Clear Customer Options**: When viewing expired quotes, customers see options to request a fresh quote or contact your company directly * **Flexible Expiration Control**: Admins can now modify quote expiration dates from three convenient locations: * Lead details page * Quote edit page * Quote view page **Business Benefits:** * **Pricing Protection**: Prevents bookings with outdated rates or discontinued services * **Availability Accuracy**: Ensures dates are verified before booking * **Reduced Disputes**: Eliminates confusion over old pricing * **Extended Opportunities**: Easily extend quotes for leads still in negotiation **Common Use Cases:** * **Extend Active Negotiations**: Give prospects more time while discussions continue * **Reactivate Expired Quotes**: Instantly make expired quotes bookable by setting a future date * **Remove Expiration**: For special clients, remove expiration entirely This update provides better protection for your business while maintaining flexibility to accommodate different sales scenarios. [Learn about managing expiration →](/contacts#managing-quote-expiration-dates) | [Configure quote settings →](/settings/quotes#expiration-settings) | [Handle expired quotes →](/contacts/sending-quotes#handling-expired-quotes) *** ## Enhanced Staffing Calculator Settings The Lead and Take Form Builder now includes reorganized settings and new display options for the staffing calculator, giving you more control over how customers interact with service planning on your forms. **What's New:** * **Visual Counter Toggle**: Choose between an engaging visual staff counter or a simplified text-only display * **Guest Count Increment**: Configure custom increment values (1-100) for the guest count +/- buttons * **Reorganized Settings**: Cleaner layout with sections for Service Length, Guests and Staffing, and Display Options * **Smart Collapsing**: The staff counter settings automatically collapse when the visual counter is disabled These improvements make it easier to customize the staffing calculator to match your brand and customer preferences. The visual counter helps justify pricing by showing customers exactly how many team members will serve their event, while the text-only mode provides a cleaner alternative for businesses preferring a minimalist approach. [Learn about staffing calculator configuration →](/forms/staffing-calculator) | [View lead intake form settings →](/forms/lead-intake#staffing-calculator-configuration) ## Share Links & Hosted Forms Create shareable, Flashquotes-hosted versions of your lead intake forms perfect for social media, Instagram link-in-bio, and QR codes. No website or embedding required - just share your link and start collecting leads instantly. Share Links Feature **What's New:** * **Hosted Form Pages**: Professional landing pages at short URLs (e.g., app.flashquotes.com/f/abc123) * **Instagram Ready**: Perfect for link-in-bio with mobile-optimized design * **Social Sharing**: One-click sharing to X, Facebook, Instagram, SMS, and email * **QR Code Generation**: Create QR codes for print materials and offline marketing * **Customizable Headlines**: Personalize your form's headline and subheadline * **Brand Integration**: Automatic company logo and brand color display Access these features from the new **Publish** tab in your form editor. [Learn how to create share links →](/forms/share-links) ## Quick Access to Stripe Payment Receipts Admins can now instantly access official Stripe payment receipts directly from the payments table. This quality-of-life improvement makes it easier to share receipts with clients and handle accounting tasks. **What's New:** * **Receipt Links**: A new "Receipt" link appears next to payment details in the payments table * **One-Click Access**: Opens the official Stripe receipt in a new tab for easy printing or sharing This feature streamlines payment documentation workflows, eliminating the need to log into Stripe separately to retrieve receipts. [Learn more about viewing payment receipts →](/finance/stripe-receipts) ## CSV Export for Leads and Bookings Export your business data to CSV format for powerful integrations with marketing platforms, analytics tools, and accounting software. This new feature enables seamless data portability for both leads and bookings. **Key Features:** * **One-Click Export**: Export up to 1,000 records instantly from the leads or bookings page * **Comprehensive Data**: Includes all fields, custom form responses, and calculated metrics * **Marketing Ready**: Perfect for email automation platforms like Mailchimp or Klaviyo * **Ad Optimization**: Upload to Google Ads for conversion tracking and audience building * **RFC 4180 Compliant**: Industry-standard CSV format works with all major tools **Lead Export Includes:** * Contact information and source tracking * Quote history and conversion status * Event details and requirements * Activity tracking and assignments **Booking Export Includes:** * Complete client and event details * Financial data including payments and balances * Resource assignments and timelines * Custom form field responses **Common Use Cases:** * **Email Marketing**: Re-engage unconverted leads with targeted campaigns * **Google Ads**: Track conversions and create lookalike audiences * **Business Analytics**: Analyze trends in Excel or BI tools * **Accounting**: Reconcile bookings with QuickBooks * **Operations**: Plan resource allocation and staffing The export feature respects your active filters, allowing you to export specific date ranges, statuses, or segments. Files are UTF-8 encoded and compatible with Excel, Google Sheets, and all major data platforms. Access the export feature from the toolbar on your [Leads](https://app.flashquotes.com/contacts) or [Bookings](https://app.flashquotes.com/bookings) page. ## Service Charges: Automated Fees & Gratuity Streamline your pricing with Service Charges - automatically add percentage or flat fees to quotes and invoices. Perfect for service fees, gratuity, corkage fees, and other standard charges that apply across your business. **Key Features:** * **Flexible Pricing**: Configure percentage-based (e.g., 20% gratuity) or flat amount charges * **Auto-Apply Options**: Set charges to automatically appear on all new quotes * **Tax Configuration**: Mark charges as taxable or non-taxable based on your needs * **Smart Application**: Charges apply to all line items except gratuity itself * **Full Visibility**: Displays clearly across quotes, booking forms, and invoices **How It Works:** 1. Create service charges in Settings → Service Charges 2. Auto-applied charges appear on new quotes automatically 3. Manually add or remove charges when editing quotes 4. Charges carry through to invoices when bookings are confirmed 5. Customers see transparent pricing at every step **Common Use Cases:** * **20% Gratuity**: Auto-apply to all quotes as a taxable percentage * **Service Fee**: 10% operational charge for event coordination * **Corkage Fee**: \$75 flat fee for BYOB events * **Setup Fee**: Fixed charge for equipment preparation Service charges integrate seamlessly with your existing workflow - they respect tax settings, work with discounts, sync to QuickBooks, and display beautifully in the quote template. Configure your service charges in [Settings → Service Charges](https://app.flashquotes.com/settings/service-charges). ## Personalized Quote Email Subject Lines Quote Settings page showing Email Settings tab with subject line editor containing shortcodes Transform your quote emails with personalized subject lines that automatically include your lead's information. This new feature helps you create more engaging, personalized email subjects that can significantly improve open rates and engagement. **Key Features:** * **Lead-Specific Shortcodes**: Use `{{lead.first_name}}`, `{{lead.full_name}}`, `{{lead.company_name}}`, and more * **Real-Time Preview**: See exactly how your subject line will appear with actual lead data * **Default Customization**: Set a personalized default subject line in your quote settings * **Individual Override**: Still edit subject lines when sending individual quotes **Example Subject Lines:** * `☕ {{lead.first_name}}, your quote is ready!` * `✨ {{lead.full_name}}, review your quote from and book online in minutes!` The system automatically processes these shortcodes when sending quotes, replacing placeholders with actual lead information. This creates a more personal connection with your leads and can help improve email open rates. Configure your personalized subject lines in [Quote Settings → Email Settings](https://app.flashquotes.com/settings/quotes?tab=email). ## Drag & Drop Line Item Reordering Admins can now reorder quote line items with simple drag and drop functionality. Quickly reorganize services, add-ons, and custom items to present your quotes in the most logical order for your clients. ## Service Days Editor: Multi-Day Quote Management Service Days editor interface showing multiple service days with date and time inputs Create complex multi-day quotes with our new Service Days editor. Add multiple dates and times to a single quote, perfect for wedding weekends, corporate events, and festivals. **Key Features:** * **Inline Editing**: Edit dates and times directly in the quote editor * **Flexible Scheduling**: Different start/end times for each service day * **Automatic Events**: Each service day becomes a separate event when booked * **Timezone Aware**: All times handled in your location's timezone **Perfect For:** * Wedding weekends (setup, ceremony, breakdown) * Corporate events (setup, main event, teardown) * Festivals and multi-day celebrations * Installations with multiple phases When clients book quotes with service days, each day automatically becomes a separate event in your booking system, making complex scheduling simple to manage. Learn more in our [Service Days guide](/contacts/service-days). ## SMS Opt-in Collection Many CRMs and SMS automation tools require explicit consent before sending text messages. Flashquotes now helps you capture that consent during lead intake, keeping you compliant while expanding your communication channels. SMS opt-in checkbox on lead intake form Add a checkbox asking "Can we text you?" with customizable consent language. Leads who opt in display a green "SMS" badge in your dashboard. [Learn more →](/forms/sms-opt-in) ## Stripe Payouts Dashboard Monitor and manage your Stripe payouts directly from Flashquotes. The new Payouts dashboard shows exactly when customer payments will be deposited to your bank account, helping you better plan cash flow and reconcile deposits. You can also access instant payouts for immediate access to funds when needed. Learn more in our [Payouts documentation](/finance/payouts). ## Modern Quote Template for Higher Conversions Quote template customer experience showing modern e-commerce inspired design Transform your quote presentation with our modern quote template that brings e-commerce best practices to your service business. This conversion-optimized experience is designed to turn more leads into paying customers through trust-building features and strategic psychology. Key features include: * **Rich Photo Galleries**: Showcase up to 8 high-quality images to build trust and demonstrate your service quality * **Social Proof Integration**: Display customer reviews, star ratings, and testimonials prominently to increase booking confidence * **Dynamic Add-on Selection**: Enable customers to customize their packages with strategic upsells that boost average order value * **Real-time Availability Indicators**: Create urgency with live availability status to reduce cart abandonment * **Mobile-Optimized Design**: Professional, responsive layout that looks stunning on all devices * **E-commerce Style Checkout**: Modern booking flow that customers recognize and trust The template is fully customizable through an intuitive visual editor, allowing you to configure galleries, testimonials, and add-ons to match your brand and service offerings. Ready to boost your booking rates? Learn how to configure your quote template in our comprehensive [setup guide](/contacts/quote-view). ## Team Member Roles and Permissions Team member management interface showing role selection We've enhanced our team management system with flexible role-based permissions. Now you can invite team members with different access levels to help manage your business while maintaining control over sensitive financial data. Key features include: * **Admin Role**: Full access to all features including aggregate financial data, member management, and company settings * **Member Role**: Full access to all features except aggregate financial data (revenue totals, payment statistics) * **Role Selection**: Choose the appropriate role when inviting new team members * **Role Management**: Admins can promote or demote members between roles as needed * **Financial Data Protection**: Members can still see individual invoice amounts and booking details, but not aggregate financial statistics This feature helps you collaborate with team members while maintaining appropriate access controls. Members can handle day-to-day operations like managing bookings and invoices, while admins retain access to financial reporting and member management. Learn more about team roles and permissions in our [team management guide](/settings/members). ## Real-Time Availability in Lead Intake Forms Calendar showing availability indicators with green and yellow dots We're excited to introduce real-time availability indicators in your lead intake forms. This feature helps set clear expectations with potential customers from the start and saves you time by reducing inquiries for dates when you're already fully booked. Key benefits include: * **Visual date indicators:** Green and yellow dots instantly show customers your availability status * **Clear messaging:** After selecting a date, customers receive straightforward availability notifications * **Automatic updates:** Availability updates in real-time based on your blocked dates and resource capacity * **Resource optimization:** Better manage your team and equipment allocation across events The system intelligently combines your blocked dates and existing bookings to determine availability status for each date, creating a more transparent booking experience. Learn more about this feature in our [Real-Time Availability](/forms/real-time-availability) documentation. ## Instant Quoting Lead Intake Form showing the new Instant Quoting toggle Transform your lead conversion process with our powerful new Instant Quoting feature. Now you can automatically generate and present quotes to clients immediately when they submit your lead intake form, enabling them to book instantly without any back-and-forth communication. Key features include: * **Instant Quote Generation**: Automatically calculate and present quotes using your configured pricing rules * **Immediate Booking**: Clients can review and book quotes instantly upon form submission * **Seamless Experience**: Direct redirect from form submission to quote presentation * **Flexible Control**: Choose between manual review or instant quoting modes * **Pro Plan Feature**: Available exclusively for [FlashQuotes Pro](https://app.flashquotes.com/settings/plans) subscribers The system uses your existing instant pricing configurations to generate accurate quotes automatically, maintaining consistency while dramatically reducing the time from inquiry to booking. Learn more about Instant Quoting in our documentation: * [Instant Pricing & Quoting Guide](/contacts/instant-pricing) * [Lead Intake Form Configuration](/forms/lead-intake) * [Quote Settings](/settings/quotes) ## Automated Invoice Reminders Invoice reminder settings showing the automated reminder schedule Never chase payments manually again! We've added automated invoice reminders that help ensure timely payments from your clients with minimal effort on your part. Key features include: * **Preset reminder schedule** with emails sent 1 day before due date, on the due date, and 2 days after * **Email preview** option to review all reminder templates before they're sent * **Toggle control** to easily enable or disable automated reminders This feature complements the existing manual reminder capabilities, giving you a comprehensive system for payment follow-up that saves time while improving cash flow. Learn more about this feature in our [Invoice Reminders](/invoices/reminders) documentation. ## Automated Lead Follow-up with Workflows Quote sending modal showing the new workflow enrollment toggle Transform your lead follow-up process with our powerful new Workflows feature. Now you can automatically nurture leads with perfectly timed, personalized email sequences that help convert more quotes into bookings. Key features include: * **Smart Email Sequences**: Pre-configured follow-up templates based on industry best practices * **Dynamic Content**: Automatically insert quote details, lead information, and company data using shortcodes * **Easy Enrollment**: One-click workflow enrollment when sending quotes * **Full Visibility**: Track active workflows, scheduled emails, and lead engagement from both quote and lead views * **Flexible Control**: Stop workflows automatically upon booking or manually when leads engage The system intelligently handles multi-quote scenarios and automatically stops follow-ups when leads book, ensuring a professional experience throughout the sales process. Learn more about Workflows in our documentation: * [Workflows Overview](/workflows/overview) * [Customizing Templates](/workflows/templates) * [Managing Enrollments](/workflows/workflow-enrollments) * [Understanding Triggers](/workflows/triggers) ## Instant Pricing Pricing Configuration UI showing automated price calculation settings Save time and ensure consistent pricing with our new Instant Pricing feature. Now you can set up automatic price calculations for your services based on: * Base service price * Hourly rates per staff member * Per-guest pricing * Minimum price thresholds When leads submit your intake forms, Flashquotes automatically generates draft quotes using your predefined pricing rules. This ensures consistent pricing across your business while still giving you the flexibility to review and adjust quotes before sending them to clients. Check out our [Instant Pricing guide](/contacts/instant-pricing) to learn how to set up automated pricing for your services. ## Team Member Invitations Bring your whole admin team onto Flashquotes with our new invitation system. You can now easily invite team members to join your company workspace directly through the platform. Head to Settings → Members to invite new users, manage pending invitations, and control user roles. Each invitation includes a secure, unique link that lets new users quickly join your workspace. Note: You only need to invite admins to your workspace. Event staff can see everything they need without a Flashquotes account. Check out our [team management guide](/settings/members) to learn more about inviting and managing team members. ## Enhanced Quote Analytics Track your lead engagement more effectively with our enhanced quote analytics. In addition to email open tracking, you can now monitor two crucial conversion metrics: * Quote page views * "Book Now" button clicks These metrics appear as colored badges on both your lead list and quote details pages, making it easy to identify your hottest leads at a glance. Use these insights to time your follow-ups perfectly and focus on leads showing the strongest booking intent. Check out the [quote analytics documentation](/contacts/sending-quotes#tracking-quote-performance) to learn more about using these new metrics. ## Event Reminders for Staff Reminders feature showing pink pill badges and warning banner Keep your staff informed with our new Reminders feature. Tag events with important flags that appear prominently in both event details and event briefs. Whether it's equipment requirements, safety precautions, or special client requests, reminders ensure critical information is never overlooked. Create company-wide standard reminders or add custom ones for specific events. A warning banner at the top of event briefs ensures staff members are immediately aware of important details before starting their shift. Learn more about using Reminders in our [detailed documentation](/events/reminders). ## Send Quotes from Your Gmail Account Gmail integration settings Connect your business Gmail account to send quotes directly from your own email address. This integration creates a more personal experience for your clients, as they'll receive quotes from your familiar business email. Your quotes maintain all their interactive features while appearing more personalized in your client's inbox. To get started, visit [Google Integrations](https://app.flashquotes.com/settings/integrations) in your settings to connect your Gmail account. ## Email Analytics & Engagement Tracking Email analytics dashboard showing quote engagement Track how leads interact with your quotes through our new email analytics feature. On the leads page, look for the eye icon next to sent quotes to instantly see how many times each quote has been viewed. For deeper insights, click into any sent quote to access a detailed activity timeline showing: * Total email opens and unique views * First and last open timestamps * Complete chronological feed of all quote interactions This visibility helps you time your follow-ups perfectly and focus on your most engaged leads. Check out the [email analytics docs](/contacts/sending-quotes#tracking-quote-performance) for more details. ## Customizable Quote Emails Customizable quote emails You can now fully edit the subject and body text of quote emails, allowing for more personalized messaging and branding. Whether you want to add a friendly touch, emphasize urgency, or tailor the language to your audience, you now have the flexibility to craft emails that resonate with your clients. You can set a permanent default for the email body text in [Quote Settings](https://app.flashquotes.com/settings/quotes). ## New Multi-Select Question Type Multi-select question type We've added a multi-select question type to Booking forms, allowing clients to choose multiple options in a single response. This is especially useful for event packages, customer flavor choices, etc. Find this under Forms → Booking Forms → Add Question ## Copy Quotes with One Click You can now copy any existing quote with a single click, making it easier to create new quotes based on past proposals. This is perfect for businesses with repeat clients or standard pricing structures. Simply find the "Copy" option in the quote actions menu. ## In-App AI Help Chat We've integrated Mintlify's AI-powered help chat directly into the app, making it easier than ever to get real-time assistance without leaving your workflow. Whether you need guidance on features, troubleshooting help, or best practices, our AI chat assistant is available to provide quick answers. Try it out by clicking the Get Help icon in the bottom right corner of the Flashquotes dashboard. ## QuickBooks Online Integration QuickBooks integration settings [Pro plan](https://app.flashquotes.com/settings/plans) customers can now sync their financial data with QuickBooks Online. The integration automatically creates customers, invoices, payments, and deposits in QuickBooks, with configurable account mappings and tax codes. Payments are synced in real-time, including proper handling of sales tax and processing fees. The integration maintains your QuickBooks data structure while ensuring accurate financial reporting. For more details, check out the [QuickBooks integration docs](/settings/integrations/quickbooks). ## Service Area Configuration Define your service radius to automatically validate event addresses during quote submission. The system checks addresses in real-time against your specified radius. For events outside your service area, a warning banner notifies the client that additional travel fees may apply. Your service area is defaulted to 150 miles, but you can change this in **[Quote Settings](https://app.flashquotes.com/settings/quotes)**. ## Lead Intake Form Settings Enhanced form settings interface New configuration options include service duration limits, maximum staff counts, and custom redirect URLs after form submission. You can also customize the staff photos and descriptions in the lead intake form. Form questions can now be fully customized. The system automatically generates optimized default forms for new accounts based on conversion data. For more details, check out the [lead intake form docs](/forms/lead-intake). ## Zapier Integration Expansion New Zapier trigger options Three new Zapier triggers enable deeper workflow automation: * **Quote form submission trigger** Send new leads directly to your CRM to streamline lead management. * **Event timeline trigger** Keep your calendars synchronized with this new trigger which fires whenever event schedules change. * **Staff assignment trigger** Automatically notify team members when they're assigned to events. Read more about Zapier integration [here](/settings/integrations/zapier). ## Lead Intake Forms v2 New lead form interface with branding options Lead intake forms are now fully customizable while maintaining high conversion rates. Find pre-configured forms under **Forms > Lead Intake Forms**, complete with proven questions and your brand colors automatically applied. Platform-specific embed instructions make it simple to add forms to any website, whether you're using Webflow, Squarespace, WordPress, or other platforms. All leads flow directly into your Flashquotes dashboard for immediate follow-up. Read more about lead intake forms [here](/forms/lead-intake). ## Enhanced Quote Customization New quote editor interface with live preview The quote editor now features a live preview as you build, showing exactly how your quote will appear to clients. Customize the hero text at the top of your quotes using markdown formatting for **bold** statements and embedded links. For more details, check out the [quote page docs](/docs/quotes). Brand your quotes with custom hero images for each quote or set a default in company settings. Your brand colors now extend throughout customer-facing pages - set your signature color in **Settings > Branding** to have buttons and icons match your visual identity. Check out the [branding docs](/settings/branding) for more details. ## Lead Calendar Calendar showing both confirmed and potential bookings Your calendar now displays both confirmed bookings and potential events from quotes. Quoted events appear with dotted borders, giving you a complete view of upcoming business - both confirmed and potential. ## Sales Tax Reporting Sales tax report showing monthly breakdown Managing sales tax across multiple jurisdictions is now simpler with our new automated tax reporting. Access comprehensive tax summaries in the [Sales Tax report](/reports/sales-tax) (now found under **Reports**) to see your total sales, taxable amounts, and taxes owed. The report breaks down tax data by rate, making it easy to handle different tax jurisdictions. All payment data in Flashquotes automatically flows into these reports, ensuring your numbers are always current. Need historical data? Filter the report by different time periods, from last month to year-to-date, to get exactly the information you need for tax remittance. ## Resource Selection in Booking Forms Resource selection interface in booking form Let clients choose their preferred cart directly in your booking form with our new Resource Select question type. The form shows only carts available for the selected event date, complete with photos and descriptions you can customize in the resource settings. When a booking is confirmed, the selected cart is automatically assigned to the event, streamlining your workflow and ensuring clients get exactly the setup they want. ## Native email sending Email sending modal Now you can fire off **quote emails** directly from the quote page. Client quote emails include a link to the quote presentation page and the Book Now button Click the new "Copy share link" button if you still want to copy/paste the quote link into a separate email You can also send **invoice reminders** to clients with a single click. Preview the email before sending to ensure it looks great. Emails are branded with your logo and include a direct link to pay. # Contacts Source: https://docs.flashquotes.com/contacts Everyone you've quoted or booked, in one place ## Overview The Contacts page is your client directory — everyone you've quoted or booked, in one place. New contacts are created automatically when someone submits your [lead intake form](/forms/lead-intake), or you can add them yourself with **New contact**. Where the [Pipeline](/pipeline) tracks quotes, Contacts tracks people: each contact holds the client's details, every quote and booking tied to them, and your full communication history. ## The contacts table The table shows each contact's name and company, email and phone (hover to copy either with one click), quote and booking counts, last activity, source, owner, and created date. It's sorted by last activity by default, so the clients you've most recently touched are on top. * **Search** by name, email, or phone number * **Filter** by created date range, source, or owner * **Export CSV** downloads your contacts honoring whatever filters and search are active Click any row to open the contact's detail page. ## Contact details Each contact page keeps the client's info in a details panel and organizes everything else into tabs: * **Activity** — a unified, chronological feed of everything that's happened: notes, emails sent and received, quote status changes, and workflow actions. Skim it to catch up before reaching out — no need to check each tab separately. * **Quotes** — create and manage quotes for this contact * **Bookings** — confirmed bookings tied to this contact * **Emails** — email threads with the contact * **Notes** — add and search notes about the contact * **Workflows** — view and manage active workflow enrollments ### Notes Use notes to log context, follow-up reminders, or anything worth remembering. 1. Open the **Notes** tab and click **Add Note** 2. Write your note using the rich text editor 3. Click **Save** Pin important notes to keep them at the top of the list, and use the search bar to filter notes by keyword. ### Contact owner assignment Assign contacts to specific team members for better accountability and follow-up tracking. Open a contact, click **Edit** in the header, and pick a team member as the owner. The owner appears in the contacts table and on [Pipeline](/pipeline) cards, and both pages can filter by owner so each teammate can work their own book. ## Managing quote expiration dates Admins can change individual quote expiration dates to extend opportunities or accommodate special circumstances. Step-by-step demonstration of changing quote expiration dates from the contact details page You can modify quote expiration from the contact's **Quotes** tab, the quote edit page, or the quote view page. * **Extend** a quote that's about to expire while a client decides * **Reactivate** an expired quote by setting a future date — it becomes bookable again immediately * **Remove** the expiration entirely for special situations Expired quotes cannot be booked. Clients see a message prompting them to request a new quote or contact you directly. ## Best practices 1. Respond to new contacts promptly — sending a quote within the first hour of inquiry dramatically improves your chance of winning the booking 2. Keep contact information current 3. Use notes and the activity feed to track communication history 4. Assign owners so follow-ups never fall through the cracks ## Next steps * [Work your open quotes in the Pipeline](/pipeline) * [Create quotes](/contacts/quotes) * [Send quotes](/contacts/sending-quotes) # Flashquotes AutoDraft Source: https://docs.flashquotes.com/contacts/autodraft Automatically pre-build draft quotes from every lead # Flashquotes AutoDraft Save time with Flashquotes AutoDraft - automatically pre-build draft quotes from your leads. Instead of starting from scratch, you'll review and send pre-built quotes in seconds. This works for manual quoting (not instant quotes). Perfect when you want consistent pricing but need to review each quote before sending. ## Set up AutoDraft ### 1. Create your default service Go to [Services](https://app.flashquotes.com/services) and create your primary service offering. Set your base pricing and service details. This becomes the foundation for every AutoDraft quote. [Learn about services →](/services) ### 2. Add your common add-ons Go to [Add-ons](https://app.flashquotes.com/services?tab=addons) (under **Services & items**) to create extras you frequently offer (delivery, setup, additional hours). Set pricing for each. [Configure add-ons →](/services/add-ons) ### 3. Configure your form's default service Open your lead intake form and click the "Instant Pricing" button. In the pricing settings modal, select your default service in the "Fallback Service" dropdown. This service will be used for all AutoDraft quotes from this form. [Set up lead intake forms →](/forms/lead-intake) ## What happens next When new leads come in through this form, AutoDraft creates a draft quote with your default service. You can add/remove services, adjust pricing, then send. ## Troubleshooting AutoDraft * **No draft quotes appearing**: Check that you selected a fallback service in your form's instant pricing settings * **Wrong pricing showing**: Verify your selected service has current pricing configured * **Missing add-ons**: Add-ons aren't auto-applied - add them to individual quotes as needed Need help with instant quotes instead? See our [instant quote setup guide](/contacts/instant-pricing). # Booking Flow Source: https://docs.flashquotes.com/contacts/booking-flow Configure how customers complete their booking after accepting your quote ## Overview The Booking Flow controls how customers complete their booking after accepting your quote. Configure which booking form collects customer information and which payment terms apply directly from the quote editor. Booking Flow section showing booking form selection and payment terms configuration ## How It Works The booking flow consists of three steps: 1. **Booking Form** - The form customers complete when booking (required) 2. **Contract** - Digital contract signing (Plus/Pro) 3. **Payment Terms** - How and when payments are collected ## Payment Terms Payment terms define your payment schedule for each quote. Select from your configured options or create new terms directly from the quote editor. ### Selecting payment terms Scroll to the **Booking Flow** section in the quote editor. Click the Payment Terms dropdown to choose from your configured options. Click **Add new payment terms** to create custom terms directly from the quote editor. ### Payment Schedule Types **Best for:** Events that require complete payment upfront **How it works:** * Clients pay 100% of the quote total when booking * No additional payments needed **Configuration options:** * No additional configuration needed * Clients will be charged the full quote amount at booking **Best for:** Events that require an upfront deposit to secure the booking **How it works:** * Clients pay a deposit amount when booking * Remaining balance is invoiced and due before the event * Clients can choose to **pay the full balance today** instead of just the deposit **Configuration options:** * **Deposit Type:** Choose between: * **Fixed Amount:** Set a specific dollar amount (e.g., \$500) * **Percentage:** Set a percentage of the total quote (e.g., 25%) * **Deposit Amount:** Enter the fixed dollar amount or percentage value * **Balance Due:** Set when the remaining balance is due (days before/after event) **Pay full balance option:** When booking with a deposit schedule, customers see a "Pay full balance today" checkbox on the booking form. Toggling it charges the full invoice amount due in a single transaction — no later balance payment needed. **Best for:** Corporate clients or situations where payment is handled through traditional invoicing **How it works:** * No payment collected through Flashquotes at booking * Booking is confirmed without payment * Invoice is generated and sent to the client **Configuration options:** * **Invoice Due:** Set when payment is due (days before/after event) **Best for:** Events where you want to authorize a card for later charges **How it works:** * Client's card is authorized but not charged at booking * Card is charged by you when you're ready to collect payment * Invoice is generated with the payment due date **Configuration options:** * **Invoice Due:** Set when payment is due (days before/after event) ### Editing Payment Terms Click the **Edit** button next to any payment terms option to modify: * Payment schedule type * Deposit amount or percentage * Invoice due timing * Set as company default Changes to payment terms apply to all quotes using those terms. ## Default Payment Terms Set a default payment terms to automatically apply to all new quotes. Click the Payment Terms dropdown in any quote's Booking Flow section. Click **Edit** next to the payment terms you want as default. Toggle **Set as company default** and save. Your default payment terms will apply to all new quotes. You can always change the payment terms on individual quotes. ## Using Multiple Payment Terms Different client types often require different payment terms: Invoice only with payment due after the event 25-50% deposit required upfront Full payment upfront ### Common Scenarios **Standard:** 25% deposit to secure date, balance due 2 weeks before event **Premium:** 50% deposit for peak season dates **Standard:** Invoice only, due 30 days after event **New Clients:** Full payment required for first booking ## Contract Add digital contracts to your booking flow. Customers review and sign contracts electronically before payment. ### Assigning a contract 1. Click the Contract dropdown in the Booking Flow section 2. Select a contract template 3. Click **Edit** to modify the contract 4. Toggle **Set as default** to auto-assign to new quotes Contracts appear after customers fill out the booking form but before payment. Customers must complete all signature blocks before proceeding to payment. Plus subscribers can create up to 2 contract templates. Pro subscribers get unlimited templates. [Learn more about contracts →](/templates/contracts/overview) ## Booking Form The booking form collects customer information when they book. Select from your configured booking forms or edit them directly from the dropdown. ### Selecting a booking form * Click the Booking Form dropdown to see available forms * Forms marked "Default" are automatically selected for new quotes * Click **Edit** to modify form questions * Click **Go to forms** to manage all forms Configure your booking forms in [Forms settings](/forms/booking). ## Best Practices Use descriptive names that indicate the payment schedule: * "25% Deposit - Balance Due Before Event" * "Full Payment Upfront" * "Corporate Net 30" * "Card on File - Due Day Before" * "Payment Terms 1" * "Option A" * "New Terms" Create payment terms that match your common scenarios: * Regular clients who know your payment terms * New clients who might need flexible options * Corporate clients with procurement processes * Last-minute bookings requiring immediate payment * Choose your most common payment schedule as the default * This saves time when creating quotes * You can always override on individual quotes * Use larger deposits for expensive events * Require full payment for last-minute bookings * Consider card on file for recurring clients ## Troubleshooting Yes! You can change payment terms on any unsent or sent quote. Navigate to the quote, update the payment terms in the Booking Flow section, and the quote will reflect the new terms. * For percentage deposits, verify the percentage is entered correctly (e.g., 25 not 0.25) * Check that the quote total is accurate * Edit the payment terms to adjust the deposit amount * Make sure you have at least one payment terms configured * Check that payment terms aren't deleted * Try creating a new payment terms from the dropdown Refunds are processed based on what the client has actually paid, regardless of the original payment terms. ## Next Steps * [Create quotes](/contacts/quotes) * [Send quotes](/contacts/sending-quotes) * [Configure booking forms](/forms/booking) # Instant Pricing & Quoting Source: https://docs.flashquotes.com/contacts/instant-pricing Learn how to configure automatic price calculations and instant quoting for your services ## Overview Instant Pricing and Quoting automatically calculates service quotes based on predefined pricing rules, saving time and ensuring consistent pricing across your lead intake forms. With Instant Quoting enabled, clients can receive and book quotes immediately upon form submission. ## Video Tutorial Watch this step-by-step guide on setting up Instant Quoting: