How to bulk import actions

To bulk import actions, you can use the Bulk Import Actions action in the Advanced category of the Action Library when creating a proposal.

Bulk import actions

You can use either a JSON or CSV file. CSV files are easier to use but only support some of the actions, whereas JSON files support all actions.

JSON

The JSON file (with extension .json) must be formatted with one top-level actions key, which is an array of actions, like this:

And an action looks like this:

CSV

The CSV file (with extension .csv) must have a header with an ACTION column and columns for each key in the data object of an action. Only actions with flat data objects (i.e. no nested objects or arrays) are supported.

A CSV that imports a bunch of Spend actions would look like this:

Action keys

The action keys can be found in @dao-dao/types/actions.tsarrow-up-right in the ActionKey enum. For example:

  • spend

  • execute

  • mintNft

  • mint

The key and data format for an action are defined in its README.md, and the actions can be found in the following places:

Here are some common ones:

For sending money from the treasury.

For executing a smart contract.

For minting an NFT in a collection the DAO controls.

For minting governance tokens in a token-based DAO.