[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"github-stars":3,"marketplace-site-banners":110,"firebase":115},{"id":4,"node_id":5,"name":6,"full_name":7,"private":8,"owner":9,"html_url":27,"description":28,"fork":8,"url":29,"forks_url":30,"keys_url":31,"collaborators_url":32,"teams_url":33,"hooks_url":34,"issue_events_url":35,"events_url":36,"assignees_url":37,"branches_url":38,"tags_url":39,"blobs_url":40,"git_tags_url":41,"git_refs_url":42,"trees_url":43,"statuses_url":44,"languages_url":45,"stargazers_url":46,"contributors_url":47,"subscribers_url":48,"subscription_url":49,"commits_url":50,"git_commits_url":51,"comments_url":52,"issue_comment_url":53,"contents_url":54,"compare_url":55,"merges_url":56,"archive_url":57,"downloads_url":58,"issues_url":59,"pulls_url":60,"milestones_url":61,"notifications_url":62,"labels_url":63,"releases_url":64,"deployments_url":65,"created_at":66,"updated_at":67,"pushed_at":68,"git_url":69,"ssh_url":70,"clone_url":71,"svn_url":27,"homepage":72,"size":73,"stargazers_count":74,"watchers_count":74,"language":75,"has_issues":76,"has_projects":76,"has_downloads":76,"has_wiki":8,"has_pages":8,"has_discussions":76,"forks_count":77,"mirror_url":78,"archived":8,"disabled":8,"open_issues_count":79,"license":80,"allow_forking":76,"is_template":8,"web_commit_signoff_required":8,"has_pull_requests":76,"pull_request_creation_policy":85,"topics":86,"visibility":26,"forks":77,"open_issues":79,"watchers":74,"default_branch":106,"temp_clone_token":78,"custom_properties":107,"organization":108,"network_count":77,"subscribers_count":109},7122594,"MDEwOlJlcG9zaXRvcnk3MTIyNTk0","directus","directus\u002Fdirectus",false,{"login":6,"id":10,"node_id":11,"avatar_url":12,"gravatar_id":13,"url":14,"html_url":15,"followers_url":16,"following_url":17,"gists_url":18,"starred_url":19,"subscriptions_url":20,"organizations_url":21,"repos_url":22,"events_url":23,"received_events_url":24,"type":25,"user_view_type":26,"site_admin":8},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,null,399,{"key":81,"name":82,"spdx_id":83,"url":78,"node_id":84},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[87,88,89,90,91,92,6,93,94,95,96,97,98,99,100,101,102,103,104,105],"api","app","cms","composable","data-visualization","database","graphql","headless-cms","javascript","mariadb","mssql","mysql","no-code","node","postgresql","sql","sqlite","typescript","vue","main",{},{"login":6,"id":10,"node_id":11,"avatar_url":12,"gravatar_id":13,"url":14,"html_url":15,"followers_url":16,"following_url":17,"gists_url":18,"starred_url":19,"subscriptions_url":20,"organizations_url":21,"repos_url":22,"events_url":23,"received_events_url":24,"type":25,"user_view_type":26,"site_admin":8},326,[111],{"id":112,"icon":78,"content":113,"link":114,"include_paths":78,"exclude_paths":78},"5cf2f5f6-aecf-4395-8c23-69de326fdf02","Directus V12 is here","https:\u002F\u002Fdirectus.com\u002Fresources\u002Fv12-built-for-the-whole-team",{"metadata":78,"logo":116,"helpful_resources":117,"extensions":121,"date_updated":123,"user_updated":124,"date_created":125,"user_created":126,"sort":78,"id":127,"category":128,"description":129,"slug":130,"name":131,"content":132,"website":133,"status":134,"external_resources":135,"extensionDetails":136},"b38293e1-fc81-4029-8ced-30d2e69271dd",[118],{"title":119,"url":120},"Firebase Documentation","https:\u002F\u002Ffirebase.google.com\u002Fdocs",[122],"directus-extension-firebase-messaging-operation","2025-07-31T13:07:04.722Z","1a9ab95a-93bc-4908-af85-0d42bb6e6aa6","2025-07-11T14:29:16.962Z","1cd0a355-b103-477d-9375-61e88f3110f8","12d31597-c80f-4c31-bd28-69a6e606ca8e","Communication","Send push notifications and messages through Firebase Cloud Messaging","firebase","Firebase","\u003Cp>Firebase is a platform by Google that provides tools for app development, including real-time messaging through Firebase Cloud Messaging (FCM).\u003C\u002Fp>\n\u003Cp>It's commonly used to send push notifications and messages to users across web and mobile apps. With the Directus extension for Firebase Messaging, you can connect your Directus project directly to Firebase Cloud Messaging. This means you can automate sending notifications or updates right from your data workflows.\u003C\u002Fp>\n\u003Cp>For example, when new content is published or certain data in your Directus collections is updated, you can trigger a push notification to your users, keeping them informed in real time. This integration is especially useful for teams managing dynamic content or user communications. It lets you set up targeted, automated notifications without leaving your Directus environment.\u003C\u002Fp>\n\u003Cp>Whether you're updating users on new articles, order statuses, or community activity, this extension helps you keep your audience engaged and up to date through reliable messaging tools.\u003C\u002Fp>","https:\u002F\u002Ffirebase.google.com","published",[],[137],{"name":122,"description":138,"verified":8,"id":139,"readme":140,"type":141,"last_updated":142,"host_version":143,"downloads":144,"total_downloads":145,"sandbox":8,"license":78,"publisher":146,"versions":155,"formatted_name":217,"formatted_readme":218,"formatted_description":138,"featured_image":219,"images":220,"repository_url":187,"recent_downloads_7_days":145,"recent_downloads_30_days":145},"Custom operation to send messages with Firebase","7e439c9f-f250-4911-b067-2cd26768a141","\u003Cp align=\"center\">\u003Cimg alt=\"Banner\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002F.github\u002Fbanner.png\">\u003C\u002Fp>\n\n# Firebase Messaging\n\nCustom operation to send messages with Firebase.\n\n![Screenshot 1](https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F01.jpeg)\n![Screenshot 2](https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F02.jpeg)\n![Screenshot 3](https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F03.jpeg)\n\n## Usage\n\n1. Install the extension using a package manager or from the Marketplace:\n\n```sh\nnpm install directus-extension-firebase-messaging-operation\n```\n\n2. Download the `google-services.json` file from Google Cloud and add it to the root of Directus.\n\n3. Or upload it via the Data Studio and copy the `Filename (Disk)`.\n\n4. Add this environment variable:\n\n```sh\nGOOGLE_APPLICATION_CREDENTIALS=\".\u002Fgoogle-services.json\"\n# OR\nGOOGLE_APPLICATION_CREDENTIALS=\".\u002Fuploads\u002F\u003Cuuid>.json\"\n```\n\n## Known Issues\n\n### Fix messaging\u002Fauthentication-error\n\n1. Go to GCP Dashboard in your project.\n2. Search \"API and Service\".\n3. In the \"Enable APIs and Services\" section, click \"+ Enable APIs and Services\".\n4. Then search \"cloud messaging\".\n6. Now go to \"Cloud Messaging\" and \"Firebase Cloud Messaging API\" one by one and enable it.\n","operation","2026-02-22T01:11:25.169Z","^10.10.0",[],0,{"username":147,"verified":8,"id":148,"github_username":147,"github_name":149,"github_blog":150,"github_bio":151,"github_location":152,"github_company":153,"github_avatar_url":154},"nerkarso","350fb99f-218d-40b1-aaaf-98baa9f1751c","Ner Karso","https:\u002F\u002Fdub.sh\u002Fnerkarso?utm_medium=social&utm_source=github","My life purpose is to inspire and guide future generations. My mission is to invent tools that will revolutionize the education system.","Paramaribo, Suriname","@ngineerlab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F25533683?v=4",[156,165,173,183,194,201,209],{"version":157,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":158,"verified":8,"id":159,"url_repository":78,"url_homepage":78,"url_bugs":78,"file_count":160,"unpacked_size":161,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":162,"maintainers":163},"1.0.0","2024-03-30T01:59:45.237Z","36bb188c-fd81-4a76-82da-6f8d39629112",4,1020542,[],[164],10652,{"version":166,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":167,"verified":8,"id":168,"url_repository":78,"url_homepage":78,"url_bugs":78,"file_count":160,"unpacked_size":169,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":170,"maintainers":171},"1.0.1","2024-03-30T02:30:04.484Z","6ed5e740-44a5-4c9e-a823-9d8f85fbb4e6",1020543,[],[172],10653,{"version":174,"package":139,"publisher":148,"type":141,"host_version":175,"publish_date":176,"verified":8,"id":177,"url_repository":78,"url_homepage":78,"url_bugs":78,"file_count":178,"unpacked_size":179,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":180,"maintainers":181},"0.3.3","^9.18.0","2023-07-28T18:34:08.510Z","752e5d00-6b2e-47c6-91c2-4044be54f4bf",9,1005233,[],[182],9949,{"version":184,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":185,"verified":8,"id":186,"url_repository":187,"url_homepage":188,"url_bugs":189,"file_count":160,"unpacked_size":190,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":191,"maintainers":192},"1.2.1","2024-05-13T00:49:24.100Z","81f27901-a662-4a5f-8fb3-8eddfa7dc8bf","https:\u002F\u002Fgithub.com\u002Fnerkarso\u002Fdirectus-extensions.git","https:\u002F\u002Fgithub.com\u002Fnerkarso\u002Fdirectus-extensions\u002Ftree\u002Fmaster\u002Foperations\u002Ffirebase-messaging#readme","https:\u002F\u002Fgithub.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fissues",1023535,[],[193],10841,{"version":195,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":142,"verified":8,"id":196,"url_repository":187,"url_homepage":188,"url_bugs":189,"file_count":160,"unpacked_size":197,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":198,"maintainers":199},"1.2.3","8d0fb5c8-9c21-43ee-8a8b-1ff3c4a6e026",1025830,[],[200],13766,{"version":202,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":203,"verified":8,"id":204,"url_repository":187,"url_homepage":188,"url_bugs":189,"file_count":160,"unpacked_size":205,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":206,"maintainers":207},"1.2.2","2024-08-15T23:54:22.691Z","a062ebd5-ac22-4759-b419-d6be2afeeb6b",1023761,[],[208],11234,{"version":210,"package":139,"publisher":148,"type":141,"host_version":143,"publish_date":211,"verified":8,"id":212,"url_repository":187,"url_homepage":188,"url_bugs":189,"file_count":160,"unpacked_size":213,"sandbox":8,"sandbox_requested_scopes":78,"license":78,"bundled":214,"maintainers":215},"1.2.0","2024-04-15T01:44:05.549Z","d6a487ef-5a70-4a58-bb5f-a4825720ffa6",1022904,[],[216],10710,"Firebase Messaging Operation","\n\u003Ch1>Firebase Messaging\u003C\u002Fh1>\n\u003Cp>Custom operation to send messages with Firebase.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F01.jpeg\" alt=\"Screenshot 1\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F02.jpeg\" alt=\"Screenshot 2\">\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F03.jpeg\" alt=\"Screenshot 3\">\u003C\u002Fp>\n\u003Ch2>Usage\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Install the extension using a package manager or from the Marketplace:\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode class=\"language-sh\">npm install directus-extension-firebase-messaging-operation\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Col>\n\u003Cli>\n\u003Cp>Download the \u003Ccode>google-services.json\u003C\u002Fcode> file from Google Cloud and add it to the root of Directus.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Or upload it via the Data Studio and copy the \u003Ccode>Filename (Disk)\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add this environment variable:\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cpre>\u003Ccode class=\"language-sh\">GOOGLE_APPLICATION_CREDENTIALS=\".\u002Fgoogle-services.json\"\n# OR\nGOOGLE_APPLICATION_CREDENTIALS=\".\u002Fuploads\u002F&lt;uuid&gt;.json\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Known Issues\u003C\u002Fh2>\n\u003Ch3>Fix messaging\u002Fauthentication-error\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to GCP Dashboard in your project.\u003C\u002Fli>\n\u003Cli>Search \"API and Service\".\u003C\u002Fli>\n\u003Cli>In the \"Enable APIs and Services\" section, click \"+ Enable APIs and Services\".\u003C\u002Fli>\n\u003Cli>Then search \"cloud messaging\".\u003C\u002Fli>\n\u003Cli>Now go to \"Cloud Messaging\" and \"Firebase Cloud Messaging API\" one by one and enable it.\u003C\u002Fli>\n\u003C\u002Fol>\n","https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F01.jpeg",[219,221,222,223],"https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F02.jpeg","https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002Foperations\u002Ffirebase-messaging\u002F.screenshots\u002F03.jpeg","https:\u002F\u002Fraw.githubusercontent.com\u002Fnerkarso\u002Fdirectus-extensions\u002Fmaster\u002F.github\u002Fbanner.png"]