> ## 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 default 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 default key 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>
