[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"marketplace-site-banners":3,"github-stars":9,"@directus-labs\u002Falgolia-operation":115},[4],{"id":5,"icon":6,"content":7,"link":8,"include_paths":6,"exclude_paths":6},"5cf2f5f6-aecf-4395-8c23-69de326fdf02",null,"Directus V12 is here","https:\u002F\u002Fdirectus.com\u002Fresources\u002Fv12-built-for-the-whole-team",{"id":10,"node_id":11,"name":12,"full_name":13,"private":14,"owner":15,"html_url":33,"description":34,"fork":14,"url":35,"forks_url":36,"keys_url":37,"collaborators_url":38,"teams_url":39,"hooks_url":40,"issue_events_url":41,"events_url":42,"assignees_url":43,"branches_url":44,"tags_url":45,"blobs_url":46,"git_tags_url":47,"git_refs_url":48,"trees_url":49,"statuses_url":50,"languages_url":51,"stargazers_url":52,"contributors_url":53,"subscribers_url":54,"subscription_url":55,"commits_url":56,"git_commits_url":57,"comments_url":58,"issue_comment_url":59,"contents_url":60,"compare_url":61,"merges_url":62,"archive_url":63,"downloads_url":64,"issues_url":65,"pulls_url":66,"milestones_url":67,"notifications_url":68,"labels_url":69,"releases_url":70,"deployments_url":71,"created_at":72,"updated_at":73,"pushed_at":74,"git_url":75,"ssh_url":76,"clone_url":77,"svn_url":33,"homepage":78,"size":79,"stargazers_count":80,"watchers_count":80,"language":81,"has_issues":82,"has_projects":82,"has_downloads":82,"has_wiki":14,"has_pages":14,"has_discussions":82,"forks_count":83,"mirror_url":6,"archived":14,"disabled":14,"open_issues_count":84,"license":85,"allow_forking":82,"is_template":14,"web_commit_signoff_required":14,"has_pull_requests":82,"pull_request_creation_policy":90,"topics":91,"visibility":32,"forks":83,"open_issues":84,"watchers":80,"default_branch":111,"temp_clone_token":6,"custom_properties":112,"organization":113,"network_count":83,"subscribers_count":114},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},15967950,"MDEyOk9yZ2FuaXphdGlvbjE1OTY3OTUw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15967950?v=4","","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus","https:\u002F\u002Fgithub.com\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Fdirectus\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus","The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdirectus\u002Fdirectus\u002Fdeployments","2012-12-12T01:35:36Z","2026-07-18T05:08:19Z","2026-07-17T21:10:45Z","git:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","git@github.com:directus\u002Fdirectus.git","https:\u002F\u002Fgithub.com\u002Fdirectus\u002Fdirectus.git","https:\u002F\u002Fdirectus.com",447310,36507,"TypeScript",true,4850,399,{"key":86,"name":87,"spdx_id":88,"url":6,"node_id":89},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[92,93,94,95,96,97,12,98,99,100,101,102,103,104,105,106,107,108,109,110],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":12,"id":16,"node_id":17,"avatar_url":18,"gravatar_id":19,"url":20,"html_url":21,"followers_url":22,"following_url":23,"gists_url":24,"starred_url":25,"subscriptions_url":26,"organizations_url":27,"repos_url":28,"events_url":29,"received_events_url":30,"type":31,"user_view_type":32,"site_admin":14},326,{"name":116,"description":117,"verified":14,"id":118,"readme":119,"type":120,"last_updated":121,"host_version":122,"downloads":123,"total_downloads":124,"sandbox":14,"license":125,"publisher":126,"versions":135,"formatted_name":147,"formatted_readme":148,"formatted_description":117,"images":149,"recent_downloads_7_days":124,"recent_downloads_30_days":124},"@directus-labs\u002Falgolia-operation","Use Algolia to index your Directus data.","4eacd228-f1ca-4784-9bb7-ef374ec88d7f","# Algolia Operation\n\nUse Algolia to index and search your data with Directus Flows. This Operation allows you to create, update, delete and even search records in your index. \n\n![Screenshot of the Algolia Operation in action](https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Falgolia-operation\u002Fdocs\u002Fscreenshot.png)\n\n## Installation\n\nRefer to the [Official Guide](https:\u002F\u002Fdocs.directus.io\u002Fextensions\u002Finstalling-extensions.html) for details on installing the extension from the Marketplace or manually.\n\n## Usage\n\nOnce installed, add the Algolia Operation to your flow. Then fill the required options and select which action you would like to perform.\n\n| Field   | Description  |\n|---------|--------------------|\n| Application ID | Your Algolia application ID found in your [dashboard](https:\u002F\u002Fdashboard.algolia.com\u002Faccount) |\n| API Key | A key with sufficient permissions, also found in your [dashboard](https:\u002F\u002Fdashboard.algolia.com\u002Faccount) |\n| Index | Name of the index on which to perform the action you select. |\n| Action | Which action to perform: Add or replace record, Add or update attributes, Delete record, Retrieve record or Search |\n\n### Add or replace record\n\nCreates a record, or if a record already exist with the same Object ID, replace it with a new object.\n\n| Field   | Description  |\n|---------|--------------------|\n| Object ID | Unique record identifier |\n| Body | An object with fields that are useful for search and discovery |\n\n#### Example usage\n\n1. Create an Event Hook flow that is triggered on `item.create` and choose which collection to include (if you select multiple collections, you can use `{{$trigger.collection}}` in the Index field).\n2. Add the Algolia Operation and Object ID to `{{$trigger.key}}`\n3. Add which attributes you want to save in the Body field.\n\n### Add or update attributes\n\nAdds new attributes to a record, or update existing ones.\n\n| Field   | Description  |\n|---------|--------------------|\n| Object ID | Unique record identifier |\n| Body | Attributes to update. It is also possible to update attributes with Algolia's [built-in operations](https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Frest-api\u002Fsearch\u002F#tag\u002FRecords\u002Foperation\u002FpartialUpdateObject). |\n\n#### Example usage\n\n1. Create an Event Hook flow that is triggered on `item.update` and choose which collection to include (if you select multiple collections, you can use `{{$trigger.collection}}` in the Index field).\n2. Add the Algolia Operation and Object ID to `{{$trigger.keys[0]}}`\n3. Add which attributes you want to save in the Body field.\n\n### Delete record\n\nRemoves a record from the index.\n\n| Field   | Description  |\n|---------|--------------------|\n| Object ID | Unique record identifier |\n\n#### Example usage\n\n1. Create an Event Hook flow that is triggered on `item.delete` and choose which collection to include (if you select multiple collections, you can use `{{$trigger.collection}}` in the Index field).\n2. Add the Algolia Operation and Object ID to `{{$trigger.keys[0]}}`\n\n### Retrieve record\n\nRetrieve a record by its Object ID. The Operation will contain all attributes that are currently saved in the record.\n\n| Field   | Description  |\n|---------|--------------------|\n| Object ID | Unique record identifier |\n\n### Search\n\nSearch for records in your index. Results will be returned in the `hits` array.\n\n| Field   | Description  |\n|---------|--------------------|\n| Search Parameters | See [Algolia Documentation](https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Frest-api\u002Fsearch\u002F#tag\u002FSearch) for details. |","operation","2025-03-27T10:20:23.413Z","^10.10.0",[],0,"MIT",{"username":127,"verified":82,"id":128,"github_username":127,"github_name":129,"github_blog":130,"github_bio":131,"github_location":132,"github_company":133,"github_avatar_url":134},"ukmadlz","74ce2e77-733a-4e9a-b96d-93bf6264f622","Mike Elsmore","http:\u002F\u002Felsmore.me","(╯°□°）╯︵ TABLEFLIP","UK","@DigitalSpeed","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F804683?v=4",[136],{"version":137,"package":118,"publisher":128,"type":120,"host_version":122,"publish_date":121,"verified":14,"id":138,"url_repository":6,"url_homepage":6,"url_bugs":6,"file_count":139,"unpacked_size":140,"sandbox":14,"sandbox_requested_scopes":6,"license":125,"bundled":141,"maintainers":142},"1.0.0","b62d5162-769f-4b67-8280-a40b08bec392",4,170538,[],[143,144,145,146],12259,12260,12261,12262,"Algolia Operation","\u003Ch1>Algolia Operation\u003C\u002Fh1>\n\u003Cp>Use Algolia to index and search your data with Directus Flows. This Operation allows you to create, update, delete and even search records in your index.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdirectus-labs\u002Fextensions\u002Fmain\u002Fpackages\u002Falgolia-operation\u002Fdocs\u002Fscreenshot.png\" alt=\"Screenshot of the Algolia Operation in action\">\u003C\u002Fp>\n\u003Ch2>Installation\u003C\u002Fh2>\n\u003Cp>Refer to the \u003Ca href=\"https:\u002F\u002Fdocs.directus.io\u002Fextensions\u002Finstalling-extensions.html\">Official Guide\u003C\u002Fa> for details on installing the extension from the Marketplace or manually.\u003C\u002Fp>\n\u003Ch2>Usage\u003C\u002Fh2>\n\u003Cp>Once installed, add the Algolia Operation to your flow. Then fill the required options and select which action you would like to perform.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Application ID\u003C\u002Ftd>\n\u003Ctd>Your Algolia application ID found in your \u003Ca href=\"https:\u002F\u002Fdashboard.algolia.com\u002Faccount\">dashboard\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>API Key\u003C\u002Ftd>\n\u003Ctd>A key with sufficient permissions, also found in your \u003Ca href=\"https:\u002F\u002Fdashboard.algolia.com\u002Faccount\">dashboard\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Index\u003C\u002Ftd>\n\u003Ctd>Name of the index on which to perform the action you select.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Action\u003C\u002Ftd>\n\u003Ctd>Which action to perform: Add or replace record, Add or update attributes, Delete record, Retrieve record or Search\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3>Add or replace record\u003C\u002Fh3>\n\u003Cp>Creates a record, or if a record already exist with the same Object ID, replace it with a new object.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Object ID\u003C\u002Ftd>\n\u003Ctd>Unique record identifier\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Body\u003C\u002Ftd>\n\u003Ctd>An object with fields that are useful for search and discovery\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch4>Example usage\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create an Event Hook flow that is triggered on \u003Ccode>item.create\u003C\u002Fcode> and choose which collection to include (if you select multiple collections, you can use \u003Ccode>{{$trigger.collection}}\u003C\u002Fcode> in the Index field).\u003C\u002Fli>\n\u003Cli>Add the Algolia Operation and Object ID to \u003Ccode>{{$trigger.key}}\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Add which attributes you want to save in the Body field.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Add or update attributes\u003C\u002Fh3>\n\u003Cp>Adds new attributes to a record, or update existing ones.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Object ID\u003C\u002Ftd>\n\u003Ctd>Unique record identifier\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Body\u003C\u002Ftd>\n\u003Ctd>Attributes to update. It is also possible to update attributes with Algolia's \u003Ca href=\"https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Frest-api\u002Fsearch\u002F#tag\u002FRecords\u002Foperation\u002FpartialUpdateObject\">built-in operations\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch4>Example usage\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create an Event Hook flow that is triggered on \u003Ccode>item.update\u003C\u002Fcode> and choose which collection to include (if you select multiple collections, you can use \u003Ccode>{{$trigger.collection}}\u003C\u002Fcode> in the Index field).\u003C\u002Fli>\n\u003Cli>Add the Algolia Operation and Object ID to \u003Ccode>{{$trigger.keys[0]}}\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Add which attributes you want to save in the Body field.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Delete record\u003C\u002Fh3>\n\u003Cp>Removes a record from the index.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Object ID\u003C\u002Ftd>\n\u003Ctd>Unique record identifier\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch4>Example usage\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Create an Event Hook flow that is triggered on \u003Ccode>item.delete\u003C\u002Fcode> and choose which collection to include (if you select multiple collections, you can use \u003Ccode>{{$trigger.collection}}\u003C\u002Fcode> in the Index field).\u003C\u002Fli>\n\u003Cli>Add the Algolia Operation and Object ID to \u003Ccode>{{$trigger.keys[0]}}\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Retrieve record\u003C\u002Fh3>\n\u003Cp>Retrieve a record by its Object ID. The Operation will contain all attributes that are currently saved in the record.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Object ID\u003C\u002Ftd>\n\u003Ctd>Unique record identifier\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Ch3>Search\u003C\u002Fh3>\n\u003Cp>Search for records in your index. Results will be returned in the \u003Ccode>hits\u003C\u002Fcode> array.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Description\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Search Parameters\u003C\u002Ftd>\n\u003Ctd>See \u003Ca href=\"https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Frest-api\u002Fsearch\u002F#tag\u002FSearch\">Algolia Documentation\u003C\u002Fa> for details.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>",[]]