This is the official documentation of the forestadmin-agent-django and forestadmin-agent-flask Python agents.

Sooner or later, you will need to perform actions on your data that are specific to your business.

Moderating comments, generating invoices, logging into a customer’s account, or banning users are exactly the kind of important tasks to unlock to manage your day-to-day operations.

In your code

To create an Action, you will first need to declare it in your code for a specific collection. Here we declare a "Mark as Live" Action for the companies collection.

from typing import Union
from forestadmin.datasource_toolkit.decorators.action.context.single import ActionContextSingle
from forestadmin.datasource_toolkit.decorators.action.result_builder import ResultBuilder
from forestadmin.datasource_toolkit.interfaces.actions import ActionResult

async def execute(
    context: ActionContextSingle, result_builder: ResultBuilder
) -> Union[None, ActionResult]:
    # implement your controller here

agent.customize_collection("User").add_action("Mark as live", {
    "scope": "Single",
    "execute": execute,  # this method can be a callable, awaitable or a lambda

In the admin panel

After declaring it, the Action will appear in the Smart Actions tab within your Collection Settings.

An Action is displayed in the UI only if:

  • it is set as "visible" (see screenshot below) AND

  • in non-development environments, the user's role must grant the "trigger" permission

You must make the Action visible there if you wish users to be able to see it in this Team.

Last updated