Forum Discussion

KeyurPatel14's avatar
KeyurPatel14
Responsive Resident
9 days ago

Power BI Custom Connector

I'm building a Power BI custom connector for an OData API and would appreciate some guidance from the community.

My connector currently allows users to select a table/entity and load data successfully. However, I'd like to enhance the user experience with two additional capabilities:

  1. Filter Selection Dropdown

    • Similar to the Advanced Options available in the built-in Web connector, I want to provide users with a dropdown (or similar UI control) to select predefined filter values before the data is loaded.

    • Ideally, the selected value would be passed as an OData filter parameter to the API request.

    • Is there a supported way to create dropdowns or dynamic parameter selection screens in a custom connector?

  2. Back Navigation / Re-selection of Table

    • After a user selects a table/entity, I'd like to provide a way for them to go back and choose a different table without having to restart the connection process.

    • Is there any concept of a "Back" button or navigation flow within Power Query custom connectors?

    • If not, what is the recommended approach for handling multi-step selection scenarios?

I've reviewed the custom connector documentation but haven't found clear examples covering these UI/navigation requirements.

If anyone has implemented something similar or can point me to relevant documentation, sample connectors, or best practices, I'd be very grateful.

Thanks in advance!

3 Replies

  • v-aatheeque's avatar
    v-aatheeque
    Community Support

    Hi  KeyurPatel14 

    The requirements can be handled using the standard Power Query custom connector patterns, although there are some UI limitations.

     

  • ShivekMaharaj's avatar
    ShivekMaharaj
    Impactful Individual

    Hi KeyurPatel14​,

    The Community Support answer covers the main pattern, but I would make one distinction between predefined and dynamically discovered values.

    For a known set of filter values, Documentation.AllowedValues is a good fit. Microsoft's function documentation guidance confirms that providing Documentation.AllowedValues changes the normal parameter textbox into a dropdown, so you can take the selected value and use it when constructing your OData $filter.

    If the choices themselves need to be retrieved dynamically from the API, I would look at a dynamic navigation table instead.

    Microsoft's navigation table guidance supports nested and dynamically generated navigation tables. That lets you model something like:

    Filter/category → entity → table

    inside the normal Navigator experience.

    That also gives you a cleaner answer to the Back/re-selection requirement. Custom connectors don't expose a general UI framework for creating your own Back button or multi-step wizard, but nested navigation tables let the Power Query Navigator handle moving between levels and selecting a different entity.

    One thing to watch with dynamic navigation is evaluation. Microsoft notes that navigation nodes are lazy by default, so I would build the tree so API calls happen only as the relevant node is expanded/selected rather than loading every entity up front.

    So I would use:

    • predefined values → Documentation.AllowedValues
    • API-driven/dynamic choices → dynamic navigation table
    • multi-step selection → nested navigation tables


    That keeps the connector within the Power Query UI patterns rather than trying to build a separate custom interface.

  • v-aatheeque's avatar
    v-aatheeque
    Community Support

    Hi KeyurPatel14​ 

    We wanted to follow up to check if you’ve had an opportunity to review the previous responses. If you require further assistance, please don’t hesitate to let us know.