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

# Taking actions with organization wallets

Once your organizations have been set up with wallets, you can facilitate users taking actions with those wallets using **intents**.

## What are intents?

**Intents** are an abstraction in the Privy system for **asynchronous authorization.** With intents, your application expresses an intent to take an action (e.g. update a policy, send a transaction), and later appends [authorization signatures](/controls/overview) to the intent as users of your application approve the intent.

Once the approval threshold for the intent is met, the intent is automatically executed.

<Info>
  [Learn more about intents](/transaction-management/intents/overview) to familiarize yourself with
  how organizations can asynchronously approve actions.
</Info>

## Using intents

At a high-level, you can use intents to take actions with organization wallets as follows:

<Steps>
  <Step title="Create an intent for the action">
    To start, programmatically create an intent for the action the organization intends to take with the wallet. This may be a wallet update (e.g. updating a policy), a signature, or a transaction.
  </Step>

  <Step title="Authenticate users of the organization">
    Next, authenticate users of the organization who have been provisioned access to the wallet (via the root key quorum or other key quorums).

    If using your own authentication service, simply [retrieve a valid JWT](/authentication/user-authentication/jwt-based-auth/usage) for the authenticated user.

    If using Privy's authentication service, simply [log in the user](/authentication/user-authentication/privy-auth) with your configured login methods using Privy's client-side SDKs.
  </Step>

  <Step title="Authorize the intent with the authenticated user">
    Once the user is authenticated, have them authorize the intent by fetching a user signing key with their access token and signing the intent request with it.

    We strongly suggest using Privy's [client-side SDKs](/controls/authorization-keys/using-owners/sign/signing-on-the-client) or [server-side SDKs](/controls/authorization-keys/using-owners/sign/signing-on-the-server) to facilitate intent authorization with a user's access token.
  </Step>

  <Step title="Capture the result of intent execution">
    Once a sufficient threshold of users approves the intent (e.g. the threshold of the root quorum), Privy will automatically execute the intent.

    You can consume the result of intent execution via Privy's [REST API](/api-reference/intents/get) or by subscribing to [intent webhooks](/api-reference/webhooks/intents/executed).
  </Step>
</Steps>
