twelfth for Power BI

twelfth for Power BI

twelfth for Power BI brings your workspace’s open actions into Power BI, so you can report on them next to your sales and finance data: what is open, who owns it, when it is due, and which remit it sits in.

It reads one table, open actions, from the twelfth API. It changes nothing in twelfth, and Power BI refreshes it in the cloud without a gateway.

Install

You need a twelfth workspace. New to twelfth? Book a demo.

twelfth for Power BI will also be a Power BI app in Microsoft Marketplace; this page will link to it once it’s listed. Until then, connect with Power BI’s built-in Web connector, below. It takes about five minutes.

1. Create a key for the report

An owner or admin opens Settings → AI & agents and selects Create an API key. Name it for the report, for example “Power BI – open actions”, and copy it. twelfth shows the key only once. See API keys.

Give each report its own key. Anyone who can edit the report’s queries can read the key, and you can revoke one report’s key without breaking the others.

2. Connect in Power BI Desktop

  1. Choose Get data → Web, then Advanced.
  2. Set URL parts to https://api.twelfth.ai/exports/open-actions.
  3. Under HTTP request header parameters, enter Authorization and Bearer <your key>.
  4. Choose OK. If Power BI asks how to sign in, choose Anonymous: the key in the header is the credential.
  5. In Power Query, use the first row as headers and set dueAt to Date/Time/Timezone.

Or paste this into a blank query, with TwelfthApiKey as a text parameter:

let
    Source = Csv.Document(
        Web.Contents(
            "https://api.twelfth.ai/exports/open-actions",
            [Headers = [Authorization = "Bearer " & TwelfthApiKey]]
        ),
        [Delimiter = ",", Encoding = 65001, QuoteStyle = QuoteStyle.Csv]
    ),
    Promoted = Table.PromoteHeaders(Source, [PromoteAllScalars = true])
in
    Promoted

3. Schedule refresh in the Power BI service

  1. Publish the report.
  2. In the semantic model’s settings, open Data source credentials for api.twelfth.ai and choose Anonymous. Tick Skip test connection: the test call goes without your key, so twelfth refuses it.
  3. Turn on Scheduled refresh. No gateway is needed.

What you get

One row per current action: open, and not snoozed into the future. Up to 5,000 rows.

Column What it is
id The action’s stable identifier
title, details What the work is
dueAt Due time (UTC), or empty
bookKey The remit it belongs to, or empty for workspace-wide work
assigneeName, assigneeEmail Who owns it
sourceSessionId, sourceTitle, sourceSummary, sourceKind The twelfth work that raised it, when there is one

twelfth rebuilds the table at most every 15 minutes, so a refresh straight after you close an action can still show it. The full contract is in the API reference.

What it can see

  • Your workspace only. A key belongs to one workspace and reads only that workspace’s actions. A key can’t be pointed at another workspace.
  • Read-only. Workspace keys never change anything in twelfth.
  • The whole workspace. A workspace key reads every remit, not one person’s. Share the report the way you would share any whole-business report.
  • Safe in spreadsheets. A cell that a spreadsheet would run as a formula starts with an apostrophe.

Troubleshooting

  • “Access to the resource is forbidden” or 401. The key is missing, mistyped or revoked. Check the Authorization header reads Bearer followed by the key, or create a new key.
  • Credentials won’t save in the service. Choose Anonymous and tick Skip test connection.
  • Refresh fails after many calls in a row. One key may call the API 120 times a minute. A Power BI refresh calls it once, so check nothing else is sharing the key.
  • An action I closed is still there. Wait up to 15 minutes and refresh again.

Support

Email hello@twelfth.ai with the report’s refresh error and the time it happened. Don’t send the key.