Skip to content

Send orders to Excel with Power Automate

Updated

Baca dalam Bahasa Melayu

Send orders to Excel with Power Automate (0:27)

BCL has no built-in Microsoft connector, but you can still log every paid order in an Excel workbook. A BCL automation sends each order to a Power Automate flow, and the flow adds a row to a table in your OneDrive. It takes about 15 minutes to set up.

You need three things:

  • A Microsoft 365 work or school account with OneDrive and Excel for the web.
  • A Power Automate Premium licence or trial. The When an HTTP request is received trigger is a Premium feature, so the free Power Automate that comes with Microsoft 365 is not enough. You can start a free 90-day trial while you build the flow.
  • A BCL admin login, so you can create automations.

The flow writes into an Excel table, not a plain range. Set up the workbook first:

  1. In OneDrive, create a folder (for example BCL Demo) and a new Excel workbook in it.

  2. Type these headers in row 1:

    Column What the flow puts there
    Order Number The BCL order number
    Payment Date Date and time of the payment
    Customer Customer name
    Email Customer email
    Phone Customer phone number
    Form The form the customer paid on
    Items Items and quantities, for example 2x House Blend 250g
    Amount Amount paid, as a number
    Payment Method For example FPX or DuitNow QR
    Status Payment status
  3. Select the headers and click Home → Format As Table. Tick My table has headers.

Excel keeps one empty row under the headers of a new table. After the first order arrives, you can delete that empty row.

The flow gives you a web address that BCL posts each order to:

  1. Go to make.powerautomate.com, click Create → Instant cloud flow, and name the flow.

  2. Choose When an HTTP request is received and click Create.

    The Build an instant cloud flow dialog with When an HTTP request is received selected and the Create button highlighted

  3. Click the trigger. In Who can trigger the flow?, choose Anyone. BCL does not sign in to Microsoft, so the default Any user in my tenant blocks it.

    The Who can trigger the flow? list with Anyone highlighted

  4. Click Use sample payload to generate schema, paste this sample and click Done:

    {
    "order_number": "BC-00123",
    "payment_date": "2026-09-27 14:05:11",
    "name": "Nurul Aina",
    "email": "nurul.aina@example.com",
    "phone": "60133456789",
    "form_title": "Kopi Kampung Coffee Beans",
    "items": "2x House Blend 250g",
    "amount": "70.00",
    "payment_method": "FPX",
    "status": "Successful"
    }

    The sample JSON payload pasted into the schema dialog

  5. Click + under the trigger, search for Add a row into a table and pick the Excel Online (Business) action. Sign in if Power Automate asks you to create a connection.

    The Add an action panel with Add a row into a table highlighted

  6. Set Location to OneDrive for Business, Document Library to OneDrive, pick your workbook in File and your table in Table.

    The Add a row into a table action with Location, Document Library, File and Table filled in

  7. Under Advanced parameters, click Show all. Click in each column and pick the matching value with the lightning icon: order_number for Order Number, name for Customer, form_title for Form, and so on.

    Each Excel column filled with a value from the HTTP trigger

  8. Click Save. If the flow checker says the owner needs a Power Automate Premium licence, click Test, then free 90-day trial in the warning, and Start trial. The trial asks for no card. Save the flow again after the trial starts.

    The Start your free 90-day trial dialog with the Start trial button highlighted

  9. Click the trigger again and copy the HTTP URL. Power Automate only creates it after the first save.

    The HTTP URL field of the trigger, with the address masked, and its copy button

Check on the flow’s details page that the flow is On. If it shows Off, click Turn on.

Next, create a BCL automation that posts each paid order to the flow:

  1. In the sidebar, click Automations, then New Automation. Name it, for example Orders to Excel, and click Create.

    The Automations page with Automations in the sidebar and the New Automation button highlighted

  2. Click Add Node and choose the Payment Successful trigger. Leave Payment Source Type on All Sources to log every form, or pick one form. Click Save Trigger.

  3. Click Add Node again and choose HTTP Request.

    The workflow with the Payment Successful trigger connected to the Send to Excel HTTP Request action

  4. Double-click the new node. Give it an Action Name, keep Method on POST, and paste the flow’s address into Request URL.

  5. Open the Body tab, choose Raw JSON and paste this body. Each {variable} is replaced with the order’s value:

    {
    "order_number": "{order_number}",
    "payment_date": "{payment_date}",
    "name": "{name}",
    "email": "{email}",
    "phone": "{phone}",
    "form_title": "{form_title}",
    "items": "{items_summary}",
    "amount": "{amount_value}",
    "payment_method": "{payment_method}",
    "status": "{payment_status}"
    }

    The HTTP Request Action Settings with the Request URL and the Raw JSON body highlighted

  6. Click Save HTTP Request, then Update Automation.

To check the link, click Send Test Request in the HTTP Request action, or make a test payment on one of your forms. A new row appears in your Excel table within a few seconds.

The Excel table with a new row for order LINK-05845, highlighted

A payment form’s own webhook can also call a Power Automate flow. An automation is usually the easier choice:

Automation with HTTP Request Form webhook
Where you set it Once, under Automations On each form, under Advanced → Webhook Settings
Which sales All sources (payment, event and booking forms, QR Terminal) or one form Only that form
What BCL sends Only the fields you list, with your own names The full payload, nested under data, with items as a list
In the flow One flat schema, one Add a row into a table A nested schema, and Apply to each for item rows

Use the form webhook when you need every field BCL has, such as custom fields and the full item list. See Payment form webhook payload.

A few habits keep the link reliable:

  • Keep the flow address private. Anyone with the HTTP URL can add rows to your workbook. Do not paste it in chats or screenshots. If it leaks, turn the flow off and build a new one, which gets a new address.
  • Match the Excel columns before you rename them. If you rename or delete a column in the table, open the flow and pick the table again, or the flow fails.
  • Use the order number to spot duplicates. If an order appears twice, sort the table by Order Number and remove the extra row.
  • Want charts too? Point Power BI at the same workbook. See Analyse your BCL sales in Power BI.

Common issues

How can my own spreadsheet know when a payment comes in?

Create an automation with the Payment Successful trigger and an HTTP Request action that posts the order to your Power Automate flow. The flow adds one row to your Excel table for each paid order.

Power Automate says my flow needs a Premium licence. Why?

The When an HTTP request is received trigger is a Premium feature. Start the free 90-day trial from the flow's licensing warning, or ask your Microsoft 365 admin for a Power Automate Premium licence.

My flow receives nothing. How do I test it?

Open the HTTP Request action in your BCL automation and click Send Test Request, then check the flow's run history in Power Automate. Make sure Who can trigger the flow? is set to Anyone and the flow is turned on.

Was this article helpful?

Cookie settings

We use Google Analytics to see which guides help and where readers get stuck. It is on by default; you can turn it off. Your choice is saved on this device.