> ## Documentation Index
> Fetch the complete documentation index at: https://developers.gonitro.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started with Power Automate

> Create a Nitro PDF Services connection in Power Automate and build your first flow — no connector import required.

The Nitro PDF Services connector is published in the Power Automate connector gallery, so there is
nothing to install. This guide takes you from a blank environment to a working flow that compresses
every PDF added to a SharePoint library.

## Before you start

<Steps>
  <Step title="Nitro PDF Services credentials">
    A **Client ID** and **Client Secret** for an API application. See
    [Credentials](/docs/authentication/credentials) for how to create one in the Nitro Developer portal, or
    [request API access](https://sso.gonitro.com/platform-trial-signup) if you do not
    have an account yet.
  </Step>

  <Step title="A plan that includes premium connectors">
    Nitro PDF Services is a **premium** connector. You need a Power Automate, Power Apps, Logic Apps,
    or Copilot Studio plan that includes premium connectors.
  </Step>
</Steps>

## 1. Create a connection

You can create the connection ahead of time, or let the designer prompt you the first time you add a
Nitro action. Either way the dialog is the same.

<Steps>
  <Step title="Open Connections">
    In [Power Automate](https://make.powerautomate.com/), go to **Connections** in the left
    navigation and click **New connection**.
  </Step>

  <Step title="Find Nitro PDF Services">
    Search for **Nitro** and click **+** on **Nitro PDF Services** (publisher *Nitro PDF*).
  </Step>

  <Step title="Enter your credentials">
    Fill in **Nitro Client ID** and **Nitro Client Secret**, optionally give the connection a
    display name, and click **Create**.

    <Frame caption="The connection dialog. Only the Client ID and Client Secret are required.">
      <img src="https://mintcdn.com/go-nitro/WZBxxsnP4QUUwrBq/images/integrations/power-automate/pa-new-connection.png?fit=max&auto=format&n=WZBxxsnP4QUUwrBq&q=85&s=d6236cb3054caaee73528932fa3c93e0" alt="Connect to Nitro PDF Services dialog with Display name, Nitro Client ID and Nitro Client Secret fields" width="1257" height="952" data-path="images/integrations/power-automate/pa-new-connection.png" />
    </Frame>
  </Step>
</Steps>

There is no interactive sign-in. The connector exchanges your credentials for an access token behind
the scenes and refreshes it automatically — see
[Authentication](/docs/integrations/power-automate/authentication).

<Note>
  Nitro connections are **not shareable**. If you share a flow or app, the other person is prompted to
  create their own connection with their own credentials.
</Note>

## 2. Build your first flow

The flow below watches a SharePoint document library, compresses each new PDF with Nitro, and writes
the result to another folder. It uses four steps and no expressions.

<Frame caption="The finished flow.">
  <img src="https://mintcdn.com/go-nitro/WZBxxsnP4QUUwrBq/images/integrations/power-automate/pa-flow-overview.png?fit=max&auto=format&n=WZBxxsnP4QUUwrBq&q=85&s=38a0792cc806ec0aabe46d793eb8995d" alt="Flow with four steps: When a file is created (properties only), Get file content, Compress PDF Document, Create file" width="320" data-path="images/integrations/power-automate/pa-flow-overview.png" />
</Frame>

<Steps>
  <Step title="Create an automated cloud flow">
    On the **Create** page choose **Automated cloud flow**, name it, and pick the SharePoint trigger
    **When a file is created (properties only)**. Set **Site Address** and **Library Name** to the
    library you want to watch.
  </Step>

  <Step title="Add SharePoint — Get file content">
    Click **+** under the trigger, search for **Get file content** and pick the SharePoint action.
    Set **Site Address** to the same site and **File Identifier** to the trigger's **Identifier**
    output.

    <Warning>
      The *properties only* trigger does not include the file's bytes. This step is what actually
      loads the PDF; without it the Nitro action has nothing to work on.
    </Warning>
  </Step>

  <Step title="Add Nitro — Compress PDF Document">
    Click **+** again, search for **Nitro PDF Services** and click **See more** to list every
    action. Pick **Compress PDF Document**.

    <Frame caption="All 33 Nitro actions in the action picker.">
      <img src="https://mintcdn.com/go-nitro/WZBxxsnP4QUUwrBq/images/integrations/power-automate/pa-action-list.png?fit=max&auto=format&n=WZBxxsnP4QUUwrBq&q=85&s=ff9edbcbe47364475f2c0572000384d2" alt="Add an action panel listing every Nitro PDF Services action" width="420" data-path="images/integrations/power-automate/pa-action-list.png" />
    </Frame>

    If you have not created a connection yet, the designer asks you to do so now.
  </Step>

  <Step title="Point the Nitro action at the file">
    Click into the **PDF File** input, then click the lightning-bolt icon to open the dynamic
    content picker. Under **Get file content**, choose **File Content**.

    <Frame caption="Drop the SharePoint File Content token into PDF File.">
      <img src="https://mintcdn.com/go-nitro/WZBxxsnP4QUUwrBq/images/integrations/power-automate/pa-compress-input-picker.png?fit=max&auto=format&n=WZBxxsnP4QUUwrBq&q=85&s=4d9a059a703f0aa89d2a289327730be6" alt="Compress PDF Document action with the dynamic content picker open, showing File Content from Get file content" width="1143" height="885" data-path="images/integrations/power-automate/pa-compress-input-picker.png" />
    </Frame>

    Leave **PDF File (file name)** empty for now, and leave **Accept (Output format)** under
    **Advanced parameters** at its default, `application/octet-stream`, so the action returns the
    compressed PDF itself.
  </Step>

  <Step title="Add SharePoint — Create file">
    Click **+**, search for **Create file** and pick the SharePoint action. Set **Site Address** and
    **Folder Path** to where the compressed copy should go — use a *different* folder or library
    from the one the trigger watches, otherwise the flow triggers itself.

    Then open the dynamic content picker for **File Content**. The **Compress PDF Document** step
    exposes three file tokens: **File Name**, **File Content Type**, and **File Content**.

    <Frame caption="Every Nitro action that returns a file exposes File Name, File Content Type and File Content.">
      <img src="https://mintcdn.com/go-nitro/WZBxxsnP4QUUwrBq/images/integrations/power-automate/pa-create-file-picker.png?fit=max&auto=format&n=WZBxxsnP4QUUwrBq&q=85&s=6a913ab39a42bb198323d5062d42c010" alt="Create file action with the dynamic content picker showing the Compress PDF Document tokens File Name, File Content Type and File Content" width="1143" height="1064" data-path="images/integrations/power-automate/pa-create-file-picker.png" />
    </Frame>

    Drop **File Content** into **File Content**, and **File Name** into **File Name**.

    <Frame caption="Create file wired to the Nitro output.">
      <img src="https://mintcdn.com/go-nitro/WZBxxsnP4QUUwrBq/images/integrations/power-automate/pa-create-file-tokens.png?fit=max&auto=format&n=WZBxxsnP4QUUwrBq&q=85&s=6a7c99faa92ab16267b2e0b7d1297d61" alt="Create file action with File Name and File Content both set to Compress PDF Document tokens" width="420" data-path="images/integrations/power-automate/pa-create-file-tokens.png" />
    </Frame>
  </Step>

  <Step title="Save and test">
    Click **Save**, then **Test → Manually** and drop a PDF into the watched library. The run
    history shows each step's inputs and outputs, including the size of the file Nitro returned.
  </Step>
</Steps>

<Tip>
  Nitro's **File Name** output is a generic name such as `result.pdf`, so every run of the flow above
  writes the same file name. To keep the original name, set **File Name** on **Create file** to the
  trigger's **File name with extension** token instead — see
  [File names](/docs/integrations/power-automate/working-with-files#file-names).
</Tip>

## What just happened

* SharePoint handed the PDF's bytes to the Nitro action as **File Content**.
* The connector uploaded the bytes to Nitro, waited for the result, and returned the compressed PDF
  as a **File Content** token that any later step can use.
* Nothing about tokens, base64, or the REST API surfaced in the designer. When you do want to know
  how files move between steps, read
  [Working with files](/docs/integrations/power-automate/working-with-files).

## Next steps

<Columns cols={3}>
  <Card title="Working with files" icon="folder-open" href="/docs/integrations/power-automate/working-with-files">
    Chaining Nitro actions, output modes, and the JSON each action expects.
  </Card>

  <Card title="Actions" icon="list-check" href="/docs/integrations/power-automate/actions">
    Every action, with its inputs and outputs.
  </Card>

  <Card title="Limits and errors" icon="triangle-exclamation" href="/docs/integrations/power-automate/limits-and-errors">
    File size, page count, throttling, and error codes.
  </Card>
</Columns>
