Power Apps Getting Started Guide
Welcome to the Power Apps (Canvas app) getting-started guide for Build a Doc.
This tutorial shows, step-by-step, how to add the Build a Doc connector (displayed as HappyWiredPowerDocs) to a Power Apps Canvas app, call a Build a Doc action from a UI control, and verify the result in a label.
Prerequisites
- A valid Build a Doc subscription and API key.
- Appropriate Power Platform licensing and permissions to create Canvas apps.
- A working knowledge of Power Apps Canvas basics.
App Overview
- Create a new Canvas app (Blank canvas - Phone or Tablet).
- Add the HappyWiredPowerDocs data source (Build a Doc connector).
- Add UI controls: a button to set JSON data, a button to call a Build a Doc action (Compute Data), and a label to show the result.
- Use
ParseJSON(or a JSON variable) as the data source for the Compute action. - Map the Compute action result to a variable (e.g.
Output) and displayOutput.resultin a label. - Run the app and verify the displayed result.
Step by step
1. Create a new Canvas app
- From Power Apps, select Create → choose Start with data.

- Choose a Blank canvas (Phone or Tablet), depending on your needs.

2. Add the Build a Doc connector as a data source
- In the app editor, open the left-side panel and select the grid icon, then Add data.

- Search for HappyWiredPowerDocs and add it to your app’s data sources.

Build a Doc (HappyWiredPowerDocs) now appears in the Data panel and is available to call from the formula bar.
3. Add a button to set JSON data
- From Insert, add a button. Name it
Set JSONand give it descriptive text (e.g., Set JSON). - In the formula bar for that button, set a JSON variable. Example:
Set(jsonData, ParseJSON("[{\"EmpID\": 3,\"Total\": 56.2}, {\"EmpID\": 3,\"Total\": 100}]"))
4. Add a button to call the Compute Data action
- Insert another button (e.g. labelled Compute Data).
- In the formula bar, begin typing
HappyWiredand the connector actions will appear; chooseHappyWiredPowerDocs.ComputeDataFunction. - Use this formula to call the action and store the response in a variable named
Output:
Set(Output, HappyWiredPowerDocs.ComputeDataFunction({ expression: "Sum(Total)", Data: jsonData, filter: "EmpID=3"}))- This computes the sum of
TotalwhereEmpID = 3.

5. Display the result
- From Insert, add a Label control.
- In the label’s formula bar, set its Text property to the result from the Compute action:
Output.result
6. Verify results
- Run the app using the play icon in the top-right corner.
- Click the
Set JSONbutton to populatejsonData. - Click the
Compute Databutton to call the action. - Verify the label displays the expected numeric result (the sum) as shown below.

Troubleshooting
Click to expand common errors and fixes
Connector / Action Not Listed in the Formula Bar
Cause:
The HappyWiredPowerDocs data source isn’t added to the app (Data panel) or the editor didn’t pick it up.
Fix:
- Open the Data panel and confirm
HappyWiredPowerDocsis present. - If it’s missing, remove and re-add the data source or re-open the app editor to force a refresh.
- Re-check the formula bar after re-adding.
ParseJSON Errors
Cause:
The JSON string is invalid (e.g., unescaped double quotes or malformed structure).
Fix:
- Validate the JSON string using an online/IDE JSON validator or store the JSON in a Text input to inspect.
- Escape double quotes inside strings as required.
- Only call
ParseJSON()when the string is valid.
Output Variable Is Blank or Missing Result
Cause:
Compute action failed or the connector response shape is different than expected (value nested deeper).
Fix:
- Confirm the Compute action succeeded (no runtime error).
- For debugging, set a temporary label to
JSON(Output)to inspect the actual shape of the response. - Compare the debug output to your label formula - sometimes the value is nested (e.g.,
Output.body.ResultvsOutput.result). - For the
ComputeDataFunctionused in this guide,Output.resultis the correct path.
Type Mismatches (Text vs Number)
Cause:
Compute action returns a text value but the app expects a number.
Fix:
- Convert the returned text to a number where needed, e.g.,
Value(Output.result).
Permissions / Licensing Errors
Cause:
Your Power Apps account lacks permission to use custom connectors or the required licensing.
Fix:
- Confirm your account has permission to use custom connectors.
- Verify licensing covers the connector’s usage and upgrade or request permissions if needed.
Unexpected Results from the Filter / Expression
Cause:
Field names in your JSON don’t match the ones used in your expression/filter (case-sensitive), or nested paths are incorrect.
Fix:
- Verify JSON keys exactly match the field names referenced in your expression and filter (case-sensitive).
- If fields are nested, ensure your path matches the connector’s response structure (use
JSON(Output)debug label to confirm).
Step-by-Step Checklist
-
Confirm the data source
HappyWiredPowerDocsis added to the app (check the Data panel). -
Validate any JSON strings before using
ParseJSON()(use a validator or a Text input). -
Inspect the Compute action run - ensure it succeeded and returned a non-empty Output.
-
Use a debug label
JSON(Output)to see the exact response shape and adjust your formulas (e.g.,Output.resultvsOutput.body.Result). -
Convert types when necessary (e.g.,
Value(Output.result)for numbers). -
Verify app permissions and licensing for custom connector usage.
-
Double-check filter/expression field names and nested paths for exact matches.