# Execute Config Transaction

Executing a config transaction will simply execute the action specified in the Config Transaction. This execution can range from a simple account field change on the Multisig, to multiple field changes and corresponding account creation.&#x20;

This instruction requires that the Proposal accounts for the transaction is of `Approved` status, and the member running the instruction has `Executor` permissions.

## Example

```typescript
import * as multisig from "@sqds/multisig";
import { Connection, PublicKey } from "@solana/web3.js"

async function main(member: PublicKey) {
    // Cluster Connection
    const connection = new Connection("<your rpc url>");
    
    // If you've saved your createKey, you can define it as a static PublicKey
    const createKey = new PublicKey("<your createkey>")
    
    // Derive the multisig PDA
    const [multisigPda] = multisig.getMultisigPda({
        createKey,
    });
    // or
    // const multisigPda = new PublicKey("<your multisig key>");
    
    // Get deserialized multisig account info
    const multisigInfo = await multisig.accounts.Multisig.fromAccountAddress(
      connection,
      multisigPda
    );

    // Get the current transaction index
    const transactionIndex = Number(multisigInfo.transactionIndex);
    // or, if this is tied to your first transaction
    // const transactionIndex = 1n;
    
    const ix = multisig.instructions.configTransactionExecute({
        multisigPda,
        transactionIndex: newTransactionIndex,
        // Member must have "Executor" permissions
        member: creator.publicKey,
    });
}
```

### Notes

* Member must have "Executor" permissions
* Requires the corresponding proposal to be of `Approved` status
* Will execute the specified action in the [Config Transaction](https://docs.squads.so/main/development/reference/accounts#config-transaction) account
