Guide
A Button is an Automation that is triggered manually.
There are two ways to execute it: you can click on the entity's dedicated button or choose the automation from the action menu (more on this later).
How to add or edit a Button
Rules and Buttons are configured for each Database separately.
To add or edit a Button:
Go to a Space.
Choose a Database.
Choose Buttons section there
Click + New Button in the opened window.
Give Button a name.
Add and edit the Actions that you want to be executed when Button is clicked. There is no limit to the number of actions you can set up. Just click + Add Action button to add as many actions as you want.
How to execute a Button
There are several places where you can access and execute Buttons:
In Entity view, a Button will be visible if it is not hidden. Also, click ••• in the top right corner and find an action here.
In Board View, List View, Calendar View and Timeline View, click on ••• for an Entity and find an action here.
In Smart Folders, click on ••• for an Entity and find an action here.
In Table View select one or several rows using the checkboxes, click Actions and choose a required action.
Button styles
Make a Button stand out by changing its color and picking a custom icon.
You may choose both icon and color when creating or editing Button
List of Actions
Create — creates an Entity with predefined Fields.
Update — updates Entity Fields (including to-one relation fields)
Delete — deletes an Entity.
Script — execute Scripts in Automations to do complex things.
Notifications — sends notifications.
Add comment — adds a comment to an Entity if Comments field is present (Markdown Templates are supported).
Set of actions for every to-many relation field:
Add Entities
Update Entities
Delete Entities
Link Entity
Unlink Entity
For Rich Text Field(s)
Append content to Description — adds content (Markdown Templates are supported).
Override Description — replaces content.
Prepend content to Description — adds content on top.
For Workflow Field
For People Field(s) e.g. Assignees
Assign to me — assigns an Entity to the current user.
Add Assignees — assigns selected users to an Entity.
Unassign Assignees — clears Assignees field. Assignees will not be deleted from the system.
For Files Field
Attach PDF using Template — creates a PDF file from the template and attaches it to an Entity (Markdown Templates are supported).
Treat template as HTML page — creates a PDF file from the HTML template and attaches it to an Entity. Please refer to Generate PDF File using Button
Action modifiers
By default you can just manually set a value for an action, but there are more ways to specify the value:
FAQ
How to check console.log() execution feedbacks
You may try having a browser console open, so that you can see the output without having to leave the view where the button is pressed.
Is it possible to authorize the Fibery Slack bot (or a shared account) for automation button steps, so messages are sent automatically without asking each user for authorization?
Currently, automation buttons in Fibery are executed on the user's behalf, which means each user must link their own account (via OAuth) for external services like Slack or Email. Here’s how it works:
The first time a user clicks a button, they’ll be prompted to authorize an account.
After that, their last used linked account is selected by default — no repeated authorization needed.
This logic is the same for both Slack and Email integrations.
It’s not possible to skip the account selection popup entirely or use a shared account for all users in button-based automations.
(Unlike automation rules, which run with the integration’s authorized account.)
Since each button click is a manual action performed in the context of a specific user, the system ensures it uses that user’s authorized connection to external services.
How does Fibery handle scripts triggered by batch button clicks?
When you select multiple entities and click a button that runs a script, Fibery executes the script once, not separately for each entity. The selected entities are passed into the script as an array via args.currentEntities.
This means the behavior of your script depends on how it's written:
If your script includes:
const entity = args.currentEntities[0]; // ... do something with `entity`
then only the first selected entity will be affected, because you're manually picking the first item in the array.
To process all selected entities, loop through them:
for (const entity of args.currentEntities) { // do something with each entity }
If you're working with commands (e.g., querying or creating related entities), and want to handle all entities at once:
You can pass the whole args.currentEntities array into executeSingleCommand
To modify many records efficiently, use:
updateEntityBatch(…), deleteEntityBatch(...), createEntityBatch(...)
These batch operations are optimized for handling large sets of entities.
Action | Behavior |
|---|
Click button on single entity | Script runs once with 1 entity |
Click button on multiple entities | Script runs once, with all selected entities in args.currentEntities |
Make sure your script is designed accordingly - especially if you’re processing hundreds of records.