diff --git a/content/1.getting-started/1.create-a-project.md b/content/1.getting-started/1.create-a-project.md index 479fd710..e6bfb339 100644 --- a/content/1.getting-started/1.create-a-project.md +++ b/content/1.getting-started/1.create-a-project.md @@ -14,7 +14,7 @@ Directus Cloud provides infrastructure from the team who builds Directus. Projec Create and login to your [Directus Cloud account](https://directus.cloud/). The very first time you log in to your Directus Cloud account, you will be prompted to create a team. Each Directus Cloud project exists within the scope of one team. - +![Create a new project page on Directus Cloud. Fields include name, region, url, and project template. An area to the side shows Directus Cloud Starter tier is selected at $15 a month.](https://product-team.directus.app/assets/ed3ace98-6ee8-4b34-b2df-b109eb9bca17.png) :directus-cloud @@ -57,7 +57,7 @@ Create a `docker-compose.yml` file in the `directus` directory: ```yaml [docker-compose.yml] services: directus: - image: directus/directus:10.10.1 + image: directus/directus:11.1.1 ports: - 8055:8055 volumes: diff --git a/content/11.configuration/14.theming.md b/content/11.configuration/14.theming.md index 9e832d23..10c6a422 100644 --- a/content/11.configuration/14.theming.md +++ b/content/11.configuration/14.theming.md @@ -26,7 +26,7 @@ The Directus Theming Engine contains a few customizable themes including a Light Both themes can be updated for all users (in the Settings Module), or for specific users (in the Users Module). - +![Theming options showing a yellow color theme and serif font throughout.](https://product-team.directus.app/assets/005783db-6a54-4aa9-b425-bc6e6092ff20.png) Any valid CSS values will be accepted by the Directus Theming Engine. The raw JSON values containing your changes can be seen by clicking the dropdown next to the theme customization labels. These can be saved and quickly applied between projects or users. diff --git a/content/11.configuration/15.translations.md b/content/11.configuration/15.translations.md index 900a26b9..f216e28a 100644 --- a/content/11.configuration/15.translations.md +++ b/content/11.configuration/15.translations.md @@ -16,15 +16,17 @@ As soon as a translation is edited on our translation platform, a pull request i ### Translation Strings - +![Translation Strings show in a standard Directus Explore page.](https://product-team.directus.app/assets/f991854a-5abb-49a6-b6b4-2163b2ed27fe.png) Any strings can be translated in the Data Studio through the decicated translation strings section of the settings module. Each entry in the translation strings has a `key` that is used in the data studio, and any number of translations. +![Translation strings can be used anywhere the translation icon is shown..](https://product-team.directus.app/assets/1696e3b0-2ed0-4318-b209-cd7959326bef.png) + Throughout the Data Studio, click the :icon{name="material-symbols:translate"} icon to assign a translation string to the field's value. The correct translation will now be shown based on the user language preference. If a language is chosen for which there is no translation string, the translation `key` will be displayed instead. ## Content Translations - +![Translations interface showing text in American English and German.](https://product-team.directus.app/assets/3e9a8108-169f-4df8-988b-e966b3809d1b.png) Content translations are used to translate the content of the database, which can be served via API to your external applications. The built-in translations interface handles much of the complexity in managing your data model for multilingual content. diff --git a/content/2.data-modeling/4.interfaces.md b/content/2.data-modeling/4.interfaces.md index 1a92d98c..866ede74 100644 --- a/content/2.data-modeling/4.interfaces.md +++ b/content/2.data-modeling/4.interfaces.md @@ -539,8 +539,6 @@ User-controlled showing and hiding of fields within the group by clicking on eac | Accordion Mode | Toggle whether only one section can be open at a time. | | Start | `All Closed`, `First Opened` | - - ### Detail Group ![A group of form fields that are currently hidden behind a toggle.](https://product-team.directus.app/assets/f1d62298-5cce-41b5-9655-1014b97a6aac.webp) diff --git a/content/4.auth/2.tokens-cookies.md b/content/4.auth/2.tokens-cookies.md index 0494f554..ea5d326e 100644 --- a/content/4.auth/2.tokens-cookies.md +++ b/content/4.auth/2.tokens-cookies.md @@ -26,7 +26,7 @@ Session tokens are returned when a user logs in, and combine both an access and ### Static Tokens - +![A user profile in the data studio with a newly-generated static token before saving. A notice reads "Make sure to backup and copy the token above. For security reasons, you will not be able to view the token again after saving and navigate off this page."](https://product-team.directus.app/assets/0df2a7cc-53c8-4f89-acee-476caf877270.png) Each user can have one static token that does not expire. This can be generated in the Data Studio within the user page. It is stored in plain text in the `directus_users` collection, and can be manually set via the Data Studio or the [Users API](/api#tag/users). @@ -49,9 +49,9 @@ When a request is made to the same Directus domain, the cookie will be automatic To perform actions that are not available to the public role, a valid token must be included in the request. ::tabs -::tab{label="Authorization Header"} -Add the following header: `Authorization: Bearer ` -:: + ::tab{label="Authorization Header"} + Add the following header: `Authorization: Bearer ` + :: ::tab{label="Session Cookies"} You do not need to set anything. The `directus_session_token` is used automatically. diff --git a/content/4.auth/3.access-control.md b/content/4.auth/3.access-control.md index f82e6536..3bdce481 100644 --- a/content/4.auth/3.access-control.md +++ b/content/4.auth/3.access-control.md @@ -8,7 +8,7 @@ Access control is a critical part of managing data - what different users in the You can find Access Control in the Settings module. - +![A diagram showing the relationship between permissions, policies, roles, and users.](https://product-team.directus.app/assets/9c4b55ec-5402-4460-a091-f22406f524e1.jpg) ## Users @@ -16,7 +16,7 @@ A user is an item in the `directus_users` collection and typically referring to ## Permissions - +![A single permission set for a collection. The collection is posts, and the actions are create, read, update, delete, and share.](https://product-team.directus.app/assets/e19b7b11-bf9b-4588-bbcb-17671f6aafb0.png) A permission is set on a collection and an action. The available actions in Directus are create, read, update, delete, and share. Permissions can provide all access, no access, or use custom permissions. @@ -26,25 +26,25 @@ Custom permissions provide more granularity than 'all' or 'none'. They impact wh #### Item Permissions - +![Item permissions with a filter rule that limits access to update items where user_created equals the current user.](https://product-team.directus.app/assets/ca52a0bc-65a4-4b9a-92cc-86a71c3d4de6.png) Use [filter rules](/connect/filter-rules) to define which items in a collection a user can access. #### Field Permissions - +![Field permissions with limited update access to only the content field.](https://product-team.directus.app/assets/80ffe7d7-9a5e-4516-8768-a00c03d28613.png) Define which fields the role is included in this permission. As a permission is scoped to both a collection and an action, a different set of fiends can be provided to each action. #### Field Validation - +![Field validation with some fields not empty and are at least 3 characters long via a regular expression.](https://product-team.directus.app/assets/3bf61316-edf3-4e87-848d-7f5225dd3ada.png) Use [filter rules](/connect/filter-rules) to validate field values when an item is created or updated. #### Field Presets - +![Field presets with a default value for the visibility field.](https://product-team.directus.app/assets/44e001a8-e369-43a9-82e7-b75cb74d5bff.png) Define default field values when an item is created or updated. The value will appear in :product-link{product="editor"}, and can later be updated. @@ -56,8 +56,6 @@ You must treat `null` as both a value and an indication of restricted permission :header-with-badge{h="2" text="Policies" badge="New in Directus 11"} - - Policies are a group of permissions that can be applied to users or roles. As a user starts with no permissions, and multiple policies can set a permission on the same collection and actions. Applying policies is additive - each policy can add to existing permissions, but not take them away. diff --git a/content/4.auth/4.creating-users.md b/content/4.auth/4.creating-users.md index 207ec70b..95c8638b 100644 --- a/content/4.auth/4.creating-users.md +++ b/content/4.auth/4.creating-users.md @@ -6,7 +6,7 @@ description: Learn about creating users in directus, including API creation, inv A user is an item in the `directus_users` collection. There are no required fields by default, although you may choose to require values for any system or user-created fields. - +![A user profile for Ben Haynes, showing an image, email, role, and various other pieces of metadata in an editable form.](https://product-team.directus.app/assets/c933f8ef-ed2d-43e0-a95a-700978611568.png) To log in with an `email` and `password` they must be set on the user item. A user can also have a [role](/auth/access-control) and any number of policies that can be assigned in the user detail page. diff --git a/content/4.auth/5.email-login.md b/content/4.auth/5.email-login.md index 7ae10043..f9d8baf9 100644 --- a/content/4.auth/5.email-login.md +++ b/content/4.auth/5.email-login.md @@ -245,7 +245,7 @@ Requesting a password reset will send an email to the user with a URL to the Dat } ``` -TODO: Fix broken link + ::callout{type="dev-docs" url="/configuration/email"} An email service must be configured to send password reset requests. diff --git a/content/4.auth/8.accountability.md b/content/4.auth/8.accountability.md index 13be5395..f2b878d4 100644 --- a/content/4.auth/8.accountability.md +++ b/content/4.auth/8.accountability.md @@ -1,24 +1,26 @@ --- -description: Learn to audit user activity and enforce accountability using the activity log. +description: Learn to audit user activity and enforce accountability using the activity feed. --- # Accountability - +![The activity feed shows action, collection, timestamp, and user.](https://product-team.directus.app/assets/805d75be-45bd-4ba5-ac63-69ba2d928842.png) -The activity log module provides a collective timeline of all data-changing actions taken within your project. It is accessed via the notifications tray of the sidebar, and has the same filtering and search features as the [Collection Page](/data-modeling/collections). +The activity feed provides a collective timeline of all data-changing actions taken within your project. It is accessed via the notifications tray of the sidebar, and has the same filtering and search features as the [Collection Page](/data-modeling/collections). + +You can access the activity feed from the bottom of the right-hand sidebar. ::callout{type="warning" title="External Changes"} -Directus can only track the events which actually pass through its platform. Therefore, any changes directly made to the database are not tracked in the activity log. +Directus can only track the events which actually pass through its platform. Therefore, any changes directly made to the database are not tracked in the activity feed. :: ## View an Activity Log Item - +![The activity feed item details drawer showing user, action, timestamp, IP address, user agent, collection, and item.](https://product-team.directus.app/assets/d9f6749f-304e-4b8d-b086-6c17a447371c.png) -Click on any item in the activity log and a side drawer will open, displaying its logged details. The following information +Click on any item in the activity feed and a side drawer will open, displaying its logged details. The following information is stored for each item: - **User** — The user that performed the action. @@ -32,9 +34,7 @@ is stored for each item: ## Filter by Activity - +![The filter UI is the same as the collection page - the action is being filtered to only show updates.](https://product-team.directus.app/assets/149adb98-7b9f-4ea9-ad24-c1d00c3c153b.png) In addition to the filter and display functionality inherited from the [Collection Page](/data-modeling/collections), you can also filter items by activity from the @@ -42,10 +42,6 @@ navigation bar. ## Modify an Activity - - To ensure proper accountability, system collections are read only by design. However, users with an Admin role have the ability to reopen, view, and modify an item's values in activities from non-system collections (where the name does not begin with `directus_`). diff --git a/content/6.files/2.upload.md b/content/6.files/2.upload.md index fb0b81c3..93cdaee5 100644 --- a/content/6.files/2.upload.md +++ b/content/6.files/2.upload.md @@ -8,12 +8,14 @@ Multiple files can be uploaded simultaneously via both the data studio and via t ## Data Studio - +![The files module with a number of files visible in a gallery layout.](https://product-team.directus.app/assets/796eb265-bce2-4faa-93d0-118dac406457.png) By opening the files module on the left, you will see your file library, which acts as one big folder to store all uploaded files and sub-folders. Create a folder called `Images` and click on :icon{name="material-symbols:add-circle-outline-rounded"}. +![The popup that appears when clicking on the upload button.](https://product-team.directus.app/assets/ec81bb5c-6dbf-4518-8684-0e5df99de013.png) + You'll see a popup with options for uploading your file: - Dragging a file from your desktop. diff --git a/content/6.files/3.manage.md b/content/6.files/3.manage.md index 81b33213..ad1d7454 100644 --- a/content/6.files/3.manage.md +++ b/content/6.files/3.manage.md @@ -9,16 +9,14 @@ and embeds, with core fields included out-of-the-box (see below), and the abilit custom fields. This page has the same features and functionality as the item page. - - - +![A file details page showing an image with editable fields for title and description. File metadata is shown in the sidebar.](https://product-team.directus.app/assets/5cf9a82c-5a4b-4feb-ab61-ff6e9d10455d.png) ## Action Buttons Notice the following buttons in the header: - :icon{name="material-symbols:check-circle"} – Saves any edits made to the file. -- :icon{name="material-symbols:tune"} – Please see [Edit an Image](#edit-an-image) to learn more. +- :icon{name="material-symbols:tune"} – Opens the image editor. - :icon{name="material-symbols:download"} – Downloads the file to your current device. - :icon{name="material-symbols:drive-file-move-outline"} – Moves selected file(s) to another folder. - :icon{name="material-symbols:delete-outline"} – Permanently removes the file and its metadata. This action is permanent and cannot be undone. @@ -36,8 +34,6 @@ constraint of your file field to `SET NULL` or `CASCADE` when the file is delete The files collection comes pre-configured with the following fields out of the box. New fields can be created and customized as needed in **Settings > Data Model** under the `directus_files` collection. However the pre-configured Fields cannot be changed or deleted. - - - **Preview**: a preview of the image or file. - **Title**: a title for the File. - **Description**: a description of the File. @@ -51,8 +47,6 @@ customized as needed in **Settings > Data Model** under the `directus_files` col The file sidebar also includes the following details, which are not editable and serve as metadata. - - - **Type**: the MIME type of the file, displayed in the App as a formatted media type. - **Dimensions**: _images only_. The width and height of the image in pixels. - **Size**: the file-size the asset takes up in the storage adapter. @@ -65,6 +59,8 @@ The file sidebar also includes the following details, which are not editable and ## Edit an Image +![The image editor with a number of options for editing an image, including cropping, focal points, and changing aspect ratios.](https://product-team.directus.app/assets/dc2929f8-7a5b-419f-8a31-c3ac7a45415e.png) + Rotate, crop, flip, adjust aspect ratios, or set focal points of an image. 1. From the **File Library**, click a file to open its detail page. diff --git a/content/6.files/4.access.md b/content/6.files/4.access.md index 38f1b41c..f5c840e9 100644 --- a/content/6.files/4.access.md +++ b/content/6.files/4.access.md @@ -10,8 +10,8 @@ The location of your actual file originals is based on the project's configurati via the API using the following URL: ``` -example.com/assets/ -example.com/assets/1ac73658-8b62-4dea-b6da-529fbc9d01a4 +https://example.com/assets/ +https://example.com/assets/1ac73658-8b62-4dea-b6da-529fbc9d01a4 ``` ## Authentication @@ -25,8 +25,8 @@ If no cookie is stored, you can use the `access_token` query parameter to authen You can provide an optional filename after the UUID to optimize for SEO, for example: ``` -example.com/assets// -example.com/assets/1ac73658-8b62-4dea-b6da-529fbc9d01a4/directus-logo.png +https://example.com/assets// +https://example.com/assets/1ac73658-8b62-4dea-b6da-529fbc9d01a4/directus-logo.png ``` This optional filename is also used in the `Content-Disposition` header when the `?download` query parameter is used. @@ -39,9 +39,6 @@ permissions and other built-in features. :: - - ## Downloading a File To download an asset with the correct filename, you need to add the `?download` query parameter to the request and the diff --git a/content/7.automate/1.quickstart.md b/content/7.automate/1.quickstart.md index 375916ad..1b88ada5 100644 --- a/content/7.automate/1.quickstart.md +++ b/content/7.automate/1.quickstart.md @@ -17,13 +17,13 @@ Create a `posts` collection with at least a `title` and `content` field. [Follow ## Create a Flow - +![Create a new flow pane - including name, metadata, and option to track activity and logs.](https://product-team.directus.app/assets/3c337848-a40f-4e62-9370-c943e8d5e761.png) Navigate to the Flows section in the Settings module. Click on :icon{name="material-symbols:add-circle"} in the page header and name the new flow "Post Created". ## Configure a Trigger - +![Create a new flow pane - trigger setup where the trigger is an event hook.](https://product-team.directus.app/assets/) Click on :icon{name="material-symbols:play-arrow"} to open trigger setup. Select "Event Hook" as the trigger type and select "Action (Non-Blocking)". This will allow you to set up this flow to respond to when an event takes place by running an action that doesn't interrupt. @@ -31,7 +31,7 @@ Select `items.create` as the scope, and then check the "Posts" collection. This ## Configure an Operation - +![In the flow editor, the trigger connects to an operation. The operation configuration pane is open with a type of Send Notification.](https://product-team.directus.app/assets/4c072da6-b396-47ad-85ff-f300e3eb9661.png) Click on :icon{name="material-symbols:add-circle"} on the trigger panel. diff --git a/content/7.automate/2.flows.md b/content/7.automate/2.flows.md index d0aab9f9..5d3fece7 100644 --- a/content/7.automate/2.flows.md +++ b/content/7.automate/2.flows.md @@ -17,7 +17,7 @@ Flows enable custom, event-driven data processing and task automation within Dir ## Logs - +![Logs from one flow execution. It shows the trigger payload and accountability, and the operation options and payload.](https://product-team.directus.app/assets/222e9acb-ae30-47be-b59f-0125c10fc58f.png) Accessible from the sidebar, logs store information for each flow execution. Each log will display information from triggers as well as each operation in the flow. diff --git a/content/7.automate/4.triggers.md b/content/7.automate/4.triggers.md index 33e1b12e..c60ece36 100644 --- a/content/7.automate/4.triggers.md +++ b/content/7.automate/4.triggers.md @@ -12,6 +12,8 @@ There are 5 types of triggers: event hook, webhook, schedule (CRON), "another fl ## Event Hook +![Event hook trigger setup](https://product-team.directus.app/assets/724d4aae-7dd7-4d36-8c1c-88e8cb59a9ee.png) + Event Hooks are triggered by events within the platform. The logic is based on [Custom API Hooks](/extensions/api-extensions/hooks). Any data generated by the event will be nested in the `$trigger`. @@ -63,13 +65,11 @@ To completely cancel a transaction, you'll need to throw an error within a ### Actions - - An action lets the event commit its transaction to the database without waiting for the Flow to finish. These are asynchronous, leading them to be more performant, but without the ability to validate or transform the payload before the transaction is committed to the database. However, a copy of the `payload` is still added into `$trigger` to use as needed. ## Webhook - +![Webhook trigger setup](https://product-team.directus.app/assets/d32100e6-1238-4234-83be-93eb3427b8d2.png) Webhooks are triggered on an incoming HTTP request to: `/flows/trigger/:this-webhook-trigger-id` which you can copy from the webhook trigger panel. @@ -99,7 +99,7 @@ finish and return whatever value is in **Response Body**. This slows the API, bu ## Schedule (CRON) - +![Schedule CRON trigger setup](https://product-team.directus.app/assets/f5f5d71c-462f-4a45-a6bc-6ad1ed3a8462.png) This trigger type enables creating data at scheduled intervals, via [6-point cron job syntax](https://github.com/node-schedule/node-schedule#cron-style-scheduling). @@ -122,7 +122,7 @@ This trigger type enables creating data at scheduled intervals, via ## Another Flow - +![Another Flow trigger setup](https://product-team.directus.app/assets/2e6dec0e-2550-4c13-8cf0-0bca786b71cc.png) This trigger type executes by the trigger Flow operation, allowing chaining Flows. @@ -140,7 +140,7 @@ If you pass an array to this trigger, it will run once for each item in the arra ## Manual - +![Manual trigger setup](https://product-team.directus.app/assets/87a4a8ea-3a07-49d4-b1c4-e4a791e0b293.png) This trigger starts your Flow on a manual click of a button within the Data Studio. @@ -161,7 +161,7 @@ sidebar indicating whether the Flow ran successfully. ### Confirmation Dialog - +![A confirmation prompt dialog showing in Directus Editor](https://product-team.directus.app/assets/7ce51378-3f33-406e-9eeb-7d3ba2e22c31.png) If enabled, a confirmation dialog will be shown in a modal before the Flow is executed. There are further options to set up a confirmation dialog. @@ -169,8 +169,6 @@ up a confirmation dialog. - **Confirmation Description** - Text shown at the top of the modal. - **Confirmation Input Fields** - Set up one or more inputs to be filled by users before executing the Flow. - - Each input field can have its own data type, interface, and display options. Some convenience options are also provided to immediately alter the user input (such as trimming whitespace and slugifying text). diff --git a/content/7.automate/5.operations.md b/content/7.automate/5.operations.md index de70bb4f..77242900 100644 --- a/content/7.automate/5.operations.md +++ b/content/7.automate/5.operations.md @@ -10,7 +10,7 @@ more. ## Condition - +![Condition operation configuration](https://product-team.directus.app/assets/be18c61d-1a80-4251-8d33-547943318f6a.png) A condition operation lets you choose a success path or failure path by validating data passed into it with [Filter Rules](/connect/filter-rules). @@ -34,11 +34,7 @@ with a condition that executes with a `reject` path, it will cancel your databas ## Run Script - +![Run Script operation configuration](https://product-team.directus.app/assets/85932180-168e-44d6-814d-bb29bf76a713.png) This operation lets you add a custom script using vanilla JavaScript or TypeScript. The script will be executed securely in an isolated sandbox. No interactions take place between the sandbox and the host except for sharing input and output @@ -114,7 +110,7 @@ you require a third party library for your custom script, you can create a custo ## Create Data - +![Create Data operation configuration](https://product-team.directus.app/assets/6a5fbeab-fd3e-48c2-bf4b-8ba709b87878.png) This operation creates item(s) in a collection. @@ -135,30 +131,11 @@ To learn about payload requirements when creating an item, see [API Reference > :: -## Delete Data - - - -This operation deletes item(s) from a collection. - -### Options - -- **Collection** — Select the collection you'd like to delete items from. -- **Permissions** — Set the scope of permissions used for this operation. -- **Emit Events** — Toggle whether the event is emitted. -- **IDs** — Set Item IDs and press enter to confirm. Click the ID to remove. -- **Query** — Select items to delete with a query. To learn more, see [Filter Rules](/connect/filter-rules). - -### Payload - -An array with the ID(s) of all items deleted will be appended under its ``. - ## Read Data -![Read Data](https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/read-data-20220603A.webp) +![Read Data operation configuration](https://product-team.directus.app/assets/2c56ca1f-e5ce-47c1-864d-1b7c25496870.png) -This operation reads items from a collection and adds them onto the data chain. You may select Items by their ID or by -running a query. +This operation reads items from a collection and adds them onto the data chain. You may select Items by their ID or by running a query. ### Options @@ -174,7 +151,7 @@ An array containing all items read will be appended under its ``. ## Update Data -![Update Data](https://cdn.directus.io/docs/v9/configuration/flows/operations/operations-20220603A/update-data-20220603A.webp) +![Update Data operation configuration](https://product-team.directus.app/assets/62eb2117-c067-466b-a5b2-75e81dc3cad9.png) This operation updates item(s) in a collection. You may select item(s) to update by their ID or by running a query. @@ -201,8 +178,29 @@ To learn about `payload` requirements when updating an item, see [our Items API :: +## Delete Data + +![Delete Data operation configuration](https://product-team.directus.app/assets/986cbc29-01bb-4b4d-8207-b1ff1b8b4eab.png) + +This operation deletes item(s) from a collection. + +### Options + +- **Collection** — Select the collection you'd like to delete items from. +- **Permissions** — Set the scope of permissions used for this operation. +- **Emit Events** — Toggle whether the event is emitted. +- **IDs** — Set Item IDs and press enter to confirm. Click the ID to remove. +- **Query** — Select items to delete with a query. To learn more, see [Filter Rules](/api-reference/filter-rules). + +### Payload + +An array with the ID(s) of all items deleted will be appended under its ``. + + ## JSON Web Token (JWT) +![JSON Web Token operation configuration](https://product-team.directus.app/assets/342dc05a-b963-4778-837c-94968ef86245.png) + This operation lets you sign and verify a JSON Web Token (JWT) using the [`jsonwebtoken`](https://www.npmjs.com/package/jsonwebtoken) package. @@ -221,7 +219,7 @@ Based on the operation selected, a JSON Web Token (JWT) or `payload` will be app ## Log to Console - +![Log to Console operation configuration](https://product-team.directus.app/assets/bdc87668-f651-41d5-af35-1b3b5b8cace0.png) This operation outputs information to the server-side console as well as the [Logs](/automate/quickstart) within the Data Studio. This is a key tool for troubleshooting flow configuration. A log operation's key will have a null value on the @@ -238,7 +236,7 @@ append a `null` value on the `operationKey`. ## Send Email - +![Send Email operation configuration](https://product-team.directus.app/assets/30b3f744-dc45-4f59-8c86-ca07f8e4e3be.png) This operation sends emails off to one or more addresses specified. @@ -276,7 +274,7 @@ may send it there automatically. ## Send Notification - +![Send Notification operation configuration](https://product-team.directus.app/assets/fb4db8f8-41b4-4908-84f0-c06f064ced2f.png) This operation pushes notifications to Directus Users. If the operation executes successfully, a list containing the IDs of all sent notifications generated is appended under this operation's key. @@ -303,7 +301,7 @@ You can input an array of UUIDs in the `To` input option to send off multiple no ## Webhook / Request URL - +![Webhook / Request URL operation configuration](https://product-team.directus.app/assets/103e850c-54ff-45d6-88f6-8aac7f00a617.png) This operation makes a request to another URL. @@ -320,7 +318,7 @@ When an operation completes successfully, the `response` is appended under its ` ## Sleep - +![Sleep operation configuration](https://product-team.directus.app/assets/7942ab7e-dbf6-43dc-8a8b-77b1a229cddc.png) This operation creates a delay in the Flow for a given amount of milliseconds, then continues to the next operation. @@ -334,7 +332,7 @@ This operation does not generate data. It will append a `null` value on its `ope ## Transform Payload - +![Transform Payload operation configuration](https://product-team.directus.app/assets/300dc3af-93b2-4782-b2eb-0d07aeb51c69.png) This operation lets you custom define your own JSON payload for use in subsequent operations. This enables you to take multiple sources of data and consolidate them into a single payload. @@ -350,7 +348,7 @@ onto its `operationKey`. ## Trigger Flow - +![Trigger Flow operation configuration](https://product-team.directus.app/assets/4e26a660-0100-4f32-8e85-d5e618734c94.png) This operation starts another flow and (optionally) passes data into it. It should be used in combination with the [Another Flow](/automate/triggers) trigger.