--- title: "Set Up Driver Actions in Order Flows" slug: "set-up-driver-actions-in-order-flows" tags: ["Admin", "On Demand", "Own Fleet", "Bringg Platform", "Planned"] updated: 2025-05-13T14:20:43Z published: 2025-05-13T14:20:43Z canonical: "help.bringg.com/set-up-driver-actions-in-order-flows" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://help.bringg.com/llms.txt > Use this file to discover all available pages before exploring further. # Set Up Driver Actions Driver actions are the stages in an order flow which a driver performs in the Bringg Driver App to complete the fulfillment of that order. You can set up mandatory and optional actions to prompt drivers to take a payment, obtain the customer's signature, take a photo, fill out a form, open a webpage, and scan a barcode to confirm a handoff. The Bringg Driver App can prompt drivers to perform driver actions for all orders or only those which have certain types of goods. It can suggest performing these actions at the start or end of a shift or during handoff (after check in or before checkout). ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678441163859.png)***Create driver actions to guide drivers through the fulfillment process*** You can add variations to your order flows using service plans in order to offer consumers different levels of service. For example, a basic plan may assign default delivery slots, while over the threshold plans may offer consumers faster fulfillment, or the option to choose a specific arrival date or time. ### Before You Begin - Define order flows for each type of order and eventuality, including the steps which are optional vs. mandatory. - Add drivers to Bringg and ensure they use the Bringg Driver App. [Learn more](/v1/docs/add-a-driver). - Define the permissions of drivers on the Driver App in **Settings > Driver App > Configuration**. ### Create a Driver Action Flow **Step 1:** Access the driver action flows by selecting **Settings > Driver App > Actions Configuration**. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442190214.png)***Access the driver actions page*****Step 2:** Create a new driver action flow by selecting **Create new action configuration** or select **Edit** on an existing flow. Then, name your flow to make it easy to find and recognize. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442237002.png)***Name your flow*** #### Define the scope of your flow Specify if this order flow applies to all orders, certain types of orders, or specific types of good or services. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442279910.png)***Define the scope of your flow*** | Field | Description | | --- | --- | | **Particular Orders** | Use this level for actions on the order level, for example to prompt drivers to take payment for orders that consumers pay for using cash. | | **Inventory** | Use this level for actions that apply for specific inventory, such as extra precautions for flammable materials. | | **All Shifts** | Use this level to create actions that drivers complete when beginning or ending their shifts. | #### Define Drive App actions automation behavior Specify if the driver actions should follow an automated flow, or if the driver should select each action individually. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/Actions%20Automation.png)***Define Drive App behavior*** | Field | Description | | --- | --- | | **Yes** | Driver actions will follow an automated flow when the driver attempts to complete a stop with mandatory actions. | | **No** | Driver actions will prompt the driver to select mandatory actions when the driver attempts to complete a stop with mandatory actions. | | **Unset (Uses the "All Orders" Definition)** | Driver action configuration will use the "Yes / No" value defined in the **All Orders** action configuration. | #### Add driver actions To add a driver action to the flow for this type of order, select **Add New Action**. Your flow can contain as many driver actions as required. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442317007.png)***Create a driver action*** | Field | Description | | --- | --- | | **Question** | Select this option when an order can follow different flows. Depending on the answer to a question, you can define a different path in the flow of driver actions. Enter a question as free text in any supported language which the Driver App displays. For example, was the customer at home? Do they have ice bags to return? How many? Add as many predefined answers as needed, by selecting **Add Answer**. When the driver selects an answer, you can define the next driver action by selecting **Go to** and choosing the title of the next action. | | **Action form** | Select to define a form which the driver can fill. You can define each field in the form, its label, the type of input, and potential values. For example, you can also add to collect a photo or signature as part of a form. For details, see the step about action forms. | | **Reject inventory** | (Only for flows applying to specific goods or services) Select to update Bringg that the customer or driver rejected one of the goods or services in the order, perhaps because they are not needed, damaged, and so on. The Driver App displays a list of predefined reasons. To customize, contact your Bringg customer service representative. | | **Take note** | Select to allow the driver to add a note to the order in plain text, which remains stored with the order. You can view it later in the order details . | | **Verify customer pin code** | Select to require the driver to enter the 4-digit PIN code the customer receives to confirm the order's fulfillment. | | **Take signature** | Select to insert a customer signature into the flow. In the Driver App, you can add a signature by drawing it with your finger on the mobile device. Use signatures to confirm the customer took custody of an item, rejected an item, or for any other reason that requires proof of consent. To add text to the signature screen, enter it in the **Disclaimer** field. To allow drivers to share the signature with the customer in the customer experience page, select **show share with customer checkbox** and choose whether you want to share by default. | | **Take picture** | Select to insert a driver action to add a photo to prove handoff, or record any damage. You can use the device's camera to capture the image and you can view it later in the order details . To allow drivers to share the photo with the customer in the customer experience page, select show share with customer checkbox and choose whether you want to share by default. Tip Bringg stores photos (as well as order notes and signatures) for 45 days after an order is completed ('canceled' or 'done') inside the order. You can transfer it to another system via a webhook, which creates a temporary URL for the system to access the image, which is valid for six days, provided the 6 days fall within the 45 day limit. For any open order, the items are stored for up to 180 days. | | **Take scan** | Insert a driver action to scan a barcode or QR code with the camera, to prove that a handoff occurred in the chain of custody. This is typically at the start of a shift. | | **Cancel task** | Select to allow the driver to cancel an order. The Driver App displays a list of predefined reasons. To customize, go to **Settings > Merchant Configuration > Cancellation Flow**. | | **Open webpage** | You can extend the Driver App with your own add-on functionality by linking it to any external webpage. For example, you can link to a page which processes credit card payments with the appropriate hardware, or fill a form which checks the price of adding an extra service. For details, see the step below about external webpages. | #### Add conditions Specify when drivers should perform an action. The Driver App only offers the action if all conditions are met (using an AND relationship). ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442663236.png)***Add further conditions when to display an action*** | Field | Description | | --- | --- | | **Waypoint type** | Select to only offer this action for certain types of destinations: - **All** offers this action at any type of destination. - **First** only offers this action at the first destination of an order. To specify only for pickups, use **Task type**. - **Customer** only offers this action when at the customer's location. - **Last** only offers this action at the second destination of an order. - **Warehouse** indicates to offer this action only at the fulfillment center. | | **Task type** | Select to only offer this action during **Pickup**, **Delivery** or **Return**. To restrict this to a destination which has both a delivery and a pickup, select **Pickup and Delivery**. | | **Show on actions menu** | To display this action in the list of driver actions when you tap the + button when you arrive at a destination, select **True**. | | **When to execute** | To run this flow automatically, without needing to tap +, select: - **Allowed** indicates it's optional and available at any time. - **After checkin** indicates that this action is optional, but you can only perform it after at the destination. - **Before checkout** indicates that this action is a mandatory prerequisite to checking out. Note If you mark a step as mandatory, the flow cannot proceed until the driver starts and completes this step. For example, you may define a separate flow for prescription medicines to require a signature at handoff. - **Default** Not in use. - **Un-allowed** Not in use. - **Before start tasks** indicates it's a mandatory action before you tap **Start Pickup/Dropff** for this order. | | **When to show** | Not in use. | | **Show share with customer checkbox** | (Signatures and photos only) Select to display the option to the driver to share the signature or photo with the customer in the customer experience page. | #### Define fields for custom forms **Step 1:** Select **Choose action > Action form > Add new component**, then select **(Field)** to view the options for each component of the form. **Step 2:** Select the dropdown under **Visual Element** to choose the component type. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442800331.png)***Define fields of the custom form*** | Field | Description | | --- | --- | | **Field** | Select to add a field in the form. Define: - **Label** is the title of this field in the form. - **Format** determines whether the field is plain text, numeric or a true / false choice. - **Key** is the internal ID of this field, which you might need when using a webhook to pass the value of this field to another system. | | **Checkbox** | Select to add a checkbox and enter its label. | | **Switch** | Select to insert a toggle and enter its label. | | **Dropdown** | Select to add a dropdown menu of choices. Select **Add dropdown value** to insert choices. | | **Signature** | Insert a place in the form which allows for a signature for consent. | | **Photo** | Insert a place in the form where the driver can add a photo (take new or select existing). | | **Label** | Insert to display general guidance text for the driver, not requiring specific input. | | **Logo** | Select to display your company logo at the top of the form. It uses the logo stored in **Settings > Tags**. | #### Integrate external webpages **Step 1:** To insert add-on functionality like payment processing into a driver action, select **Choose Action >** **Open Webpage.** **Step 2:** (Optional) Send data about the order to the webpage as URL parameters and return an indication of the functionality’s success when you close the page. Enter the web address In the textbox under **URL**, including relevant parameter names. Note that placeholder values must have specific names: *www.yourlink.com/?p1=#task_id&p2=#external_task_id&p3=#way_point_id* - `#task_id` is Bringg’s internal ID of the order. - `#external_task_id` is your ID of the order. - `#way_point_id` is the Bringg ID of the destination for this order. **Step 3:** Add the following JavaScript functions to your webpage, which should be designed for mobile screen sizes: - `BringgDriverAppCompleteAction()` indicates the action in this webpage was completed successfully. - `BringgDriverAppCloseIframe()` closes the webpage (no taps needed) and returns to the Driver App. **Step 4:** Select **Must complete successfully > Yes** if the order flow cannot proceed to the next step until the driver completes it successfully. Here is an example of a webpage with these function calls: ```javascript
// form fields
``` #### Add Estimated Time on Site (Optional) To automatically add a specific amount of time to the estimated time on site (ETOS) for orders that use this flow, contact your Bringg customer service representative to request a time on-site buffer. For example, you can add an automatic buffer of 15 minutes for orders with a service plan that requires your driver to install a product in a customer's home. #### Finalize the flow Select **Save** to save the flow and assign it an ID. You can then use this ID to assign the flow to specific orders and inventory. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442909911.png) ***Use the flow's ID to assign it to orders*** ### Assign a Flow #### Assign a driver flow to a service plan To assign a flow to a specific [service plan](/v1/docs/add-variations-to-your-order-flows-using-service-plans), go to **Settings > Merchant Configuration > SERVICE PLANS**, select ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442927397.png)**> Edit**, and choose the flow from the **Task configuration** list. ![](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/image-1678442941277.png)***Add your flow to a service plan*** Then, ask your IT integrator to add the related `service_plan_external_id` parameter in the payload at the task level for relevant order types. All orders with the service plan are automatically assigned the linked action flow. #### Assign a driver flow to specific goods and services To assign the flow to an order to certain goods or services, ask your IT integrator to add this the flow ID to the `actions_configuration_id` in the order payload at the inventory level. An order flow defines all the stages of fulfillment from when an order enters Bringg to when the order is completed or cancelled. You can define order flows for different types of goods and consumers to fit your company's policy. These flows can determine who prepares the order, its time window, and the driver actions to complete fulfillment. If you mark a step as mandatory, the flow cannot proceed until the driver starts and completes this step. For example, you may define a separate flow for prescription medicines to require a signature at handoff. Building order flows includes all eventualities, including defining the steps for drivers if goods are damaged. Or, if you work mostly with Own Fleet, you may need a spillover plan to assign orders to carriers during high volume periods. The Bringg Driver App can prompt drivers to perform driver actions for any order, or only those which have certain types of goods. It can suggest to perform these actions at the start of a shift, at the end, or during handoff (after check-in or before checkout). You can add variations to your order flows using service plans in order to offer consumers different levels of service. For example, a basic plan may assign default delivery slots, while over the threshold plans may offer consumers faster fulfillment, or the option to choose a specific arrival date or time. As a driver using the Bringg Driver App, you can sign up to a shift and see the orders in your route as a list of destinations and breaks, with contact information for each order, extra notes from the consumer or dispatcher and step-by-step instructions to handoff successfully. The Bringg Platform has already optimized your route, and you can navigate turn-by-turn with your favorite map app. The Bringg Driver App is a mobile app on iOS and Android which extends Bringg's functionality to you, a driver. When dispatchers assign orders or update routes, each appears instantly in the Driver App as a list of destinations, which you can navigate to by launching your preferred navigation app directly from the Driver App, view all order details and instructions, complete handoff actions, and keep dispatchers automatically updated on the progress of your route, such as when traffic causes delays. When you approach a destination or fulfillment center, the Driver App can automatically check you in, triggering automatic notifications to the consumer and dispatcher that you are about to arrive, all without you taking your hands off the wheel. An order is a request for the fulfillment of goods and services at a specific address. It includes all information needed to complete it, such as the requested service or goods, the customer’s contact information, required services (such as fragile care), and the time window. A handoff is any transfer of goods from one person or location to another during fulfillment of an order. Drivers usually validate handoffs with a driver action like a scan, signature, or photo. For example, when a driver scans items at a warehouse, this handoff transfers custody of the items from the dispatcher to the driver. The final handoff is when the consumer accepts the goods and the driver records proof of delivery. Check-in occurs when a driver reports their arrival at a destination using theBringg Driver App. This can happen manually when the driver taps the Arrived button, or automatically as an event triggered when the driver arrives at the location of the destination (using a geofence). Checkout occurs when the driver reports they have departed from the destination. An order is a request for fulfillment of goods and services at a specific destination. It includes all information needed to complete it, such as the requested service or goods, the consumer's contact information, up to two destinations (e.g. pickup and delivery), and the time window. The properties of the order's goods or services determine the vehicle and skills required to fulfill that order. For example, food deliveries may require a refrigerated vehicle while an appliance installation requires a driver with the relevant training. You fulfill orders by assigning them to a driver, store associate, or delivery provider. You can also assign orders to routes and then assign each route to a vehicle and driver. Inside the Bringg database and payloads an order is sometimes referred to as a task. Customer experience page (CX) For consumers receiving their orders, they can see live updates of the status of their order on your branded customer experience page, like the driver's live location, giving an updated modern experience to the fulfillment of your goods. Consumers can also enter their feedback rating directly to you, enabling you to retain their data so you can continue building that relationship. As a fully branded page with your logo, consumers get excellent last mile experiences from your brand, whether you fulfilled with delivery providers, your Own Fleet, or Click & Collect. Use Bringg webhooks to notify other enterprise systems in real-time as soon as a predefined event occurs, like updating your order management systems (OMS) that an order arrived at its destination. You can have multiple systems listen to the same webhook rather than each making an independent data request. The webhook sends data in its payload to designated URLs.![download (1)](https://cdn.document360.io/a18074ef-073a-4ab1-bcab-12625715280e/Images/Documentation/download%20(1).png) Webhooks send data to other systems when an event occurred Webhooks send data to other systems when an event occurred Webhooks notify systems that an event occurred, whereas APIs initiate a specific request for another system to act. Any applications subscribed to a single webhook receive the payload at the same time, but its content may vary depending on the parameters which each system requires. For example, if you register a webhook URL in your OMS and ERP for the event Order Is Cancelled, the OMS receives one payload belonging to Order Is Cancelled to update the status of this order. At the same time, the ERP receives a slightly different payload with details to update the inventory. You can register webhook URLs for automatic updates of events throughout the order lifecycle including when it is assigned to a driver, when a driver delivers the goods or services, and so on. Learn more Estimated time on site. A service plan is a type of service that you provide to consumers like express, basic, or over the threshold. Service plans enable you to fulfill service level agreements by letting the Bringg Platform, dispatchers, and drivers know when you have committed to providing a specific service, such as delivery at the consumer's home or workplace, or a specific handoff procedure like requiring the consumer's signature as proof of delivery. Payloads are data packages containing a predefined set of parameters (fields and values) which Bringg sends and receives from other systems via webhooks, APIs, or websockets. Payloads arrive at a designated URL in another systems in standard JSON format. For example, see the payload format for an API call to assign a new driver to an order: { "task id": 1234567, "user": { "external_id":"driver1", "name": "Driver Name", "profile image": "https://url.to.image", "phone": "+15555555555", "email": "driver@fleet.com" }, "delivery cost":12.99, "green_delivery": true } When sending an order via API or webhook, you can specify details at the task level of a payload, which would apply to the whole order. Payloads contain nested data structures, allowing you to define the scope of a variable and its value by adding it to a specific level in the hierarchy. When sending an order via API or webhook, you can specify details at the inventory level of a payload, which would apply to a specific item or service inside the order. Payloads contain nested data structures, allowing you to specify a value at the level of a specific data structure.