Actions are short procedures that your application can execute in response to events or button clicks in the user interface. Most actions have configurations stored either in trigger or in the view configuration – actions are templates for procedures and the same sense that view templates are templates for views. Plug-ins can supply new actions, but these actions are built into Saltcorn:
- blocks: Visual programming for more complex actions. See the dedicated page for more information
- duplicate_row: duplicate the row that is triggering the action. A new row is inserted, which has the same contents as the triggering row but a new identifier.
- duplicate_row_prefill_edit: docs TBD
- emit_event: docs TBD
- find_or_create_dm_room: docs TBD
- insert_joined_row: insert a row in a table that is related to the table that is triggering this action. There must be a row associated with this action; and the table chosen to insert into must have a foreign key to the triggering table. The row that is inserted will have the foreign key set to the triggering table. Addition, if that table has a field that is key to users, this will be set to the logged in user.
- recalculate_stored_fields: docs TBD
- send_email: send a view as an email. This action requires an associated table and row, because the email contents is specified as a view of a row in a specific table. This action is configured by: review with the email contents; the recipients email address which can either be fixed (enter as a string), the logged-in user, or a field in the row triggering the action; and the email subject. Email settings such as SMTP host etc should be set up in the application configuration.
- sync_table_from_external: docs TBD
- webhook: make a HTTP POST request to a specific URL, to communicate information to an external service. This can be used for instance to launch workflows on a dedicated workflow automation service like Zapier or n8n. In the configuration for this action, you specify the URL and the post body. If the post body is blank, then the event payload (in the case of a database event, the triggering row) will be used as the event payload.