diff --git a/src/Action.Tests/Action.Tests.csproj b/src/Action.Tests/Action.Tests.csproj
index 8a535cc197b7387966c4e7b29ad138f1fa1bd11f..fb6de6555c21841054873ce8201861bf04ba01c9 100644
--- a/src/Action.Tests/Action.Tests.csproj
+++ b/src/Action.Tests/Action.Tests.csproj
@@ -46,11 +46,11 @@
     <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database, Version=1.24.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.dll</HintPath>
+    <Reference Include="Coscine.Database, Version=1.27.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database.T4, Version=1.24.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.T4.dll</HintPath>
+    <Reference Include="Coscine.Database.T4, Version=1.27.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.T4.dll</HintPath>
     </Reference>
     <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
diff --git a/src/Action.Tests/Properties/AssemblyInfo.cs b/src/Action.Tests/Properties/AssemblyInfo.cs
index e5e7a3a82cd41a2339c85805fd2dc18e54edbe2f..002daba231db1de02f7faefbb2977fcf85441f27 100644
--- a/src/Action.Tests/Properties/AssemblyInfo.cs
+++ b/src/Action.Tests/Properties/AssemblyInfo.cs
@@ -9,8 +9,8 @@ using System.Reflection;
 [assembly: AssemblyDescription("Action.Tests is a part of the CoScInE group.")]
 [assembly: AssemblyCompany("IT Center, RWTH Aachen University")]
 [assembly: AssemblyProduct("Action.Tests")]
-[assembly: AssemblyVersion("1.16.0")]
-[assembly: AssemblyFileVersion("1.16.0")]
-[assembly: AssemblyInformationalVersion("1.16.0-topic-1062-pidpa0009")]
+[assembly: AssemblyVersion("1.17.0")]
+[assembly: AssemblyFileVersion("1.17.0")]
+[assembly: AssemblyInformationalVersion("1.17.0-topic-1163-admin0001")]
 [assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
 
diff --git a/src/Action.Tests/packages.config b/src/Action.Tests/packages.config
index fdfe66f032df69b23f536e2bd4f9e016604af4b2..9030d20250a2f6c6346aab58c00aee582914f1f7 100644
--- a/src/Action.Tests/packages.config
+++ b/src/Action.Tests/packages.config
@@ -2,7 +2,7 @@
 <packages>
   <package id="Consul" version="0.7.2.6" targetFramework="net461" />
   <package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" />
-  <package id="Coscine.Database" version="1.24.0" targetFramework="net461" />
+  <package id="Coscine.Database" version="1.27.0" targetFramework="net461" />
   <package id="EntityFramework" version="6.4.4" targetFramework="net461" />
   <package id="linq2db" version="3.1.1" targetFramework="net461" />
   <package id="linq2db.SqlServer" version="2.6.4" targetFramework="net461" />
diff --git a/src/Action/Action.csproj b/src/Action/Action.csproj
index 1355cbd8dc4a5cd9fd884f891bcdd39fcf3c3278..372042e780a1ac8dbdbd32b9d218a0589f8c4441 100644
--- a/src/Action/Action.csproj
+++ b/src/Action/Action.csproj
@@ -44,11 +44,11 @@
     <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database, Version=1.24.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.dll</HintPath>
+    <Reference Include="Coscine.Database, Version=1.27.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database.T4, Version=1.24.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.24.0\lib\net461\Coscine.Database.T4.dll</HintPath>
+    <Reference Include="Coscine.Database.T4, Version=1.27.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0\lib\net461\Coscine.Database.T4.dll</HintPath>
     </Reference>
     <Reference Include="Coscine.ProxyApi, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.ProxyApi.1.3.0\lib\net461\Coscine.ProxyApi.dll</HintPath>
@@ -109,12 +109,14 @@
   <ItemGroup>
     <Compile Include="Emitter.cs" />
     <Compile Include="EventArgs\ActionEventArgs.cs" />
+    <Compile Include="EventArgs\AdminEventArgs.cs" />
     <Compile Include="EventArgs\ProjectEventArgs.cs" />
     <Compile Include="EventArgs\PIDEventArgs.cs" />
     <Compile Include="EventArgs\ResourceEventArgs.cs" />
     <Compile Include="EventArgs\UserEventArgs.cs" />
     <Compile Include="Exceptions\ActionException.cs" />
     <Compile Include="IAction.cs" />
+    <Compile Include="Implementations\Admin\NotificationAction.cs" />
     <Compile Include="Implementations\PID\NotificationAction.cs" />
     <Compile Include="Implementations\Project\NotificationAction.cs" />
     <Compile Include="Implementations\Project\PIDAction.cs" />
@@ -124,6 +126,7 @@
     <Compile Include="Implementations\Resource\PIDAction.cs" />
     <Compile Include="Implementations\User\NotificationAction.cs" />
     <Compile Include="Implementations\User\SPGroupAction.cs" />
+    <Compile Include="IAdminAction.cs" />
     <Compile Include="IProjectAction.cs" />
     <Compile Include="IPIDAction.cs" />
     <Compile Include="IResourceAction.cs" />
diff --git a/src/Action/Emitter.cs b/src/Action/Emitter.cs
index 984e28b2c482f75f540be3b5c27679ef9cd52b95..0b06479ed098355d1784f997f665b757776b4920 100644
--- a/src/Action/Emitter.cs
+++ b/src/Action/Emitter.cs
@@ -14,6 +14,7 @@ namespace Coscine.Action
         private readonly List<IUserAction> userActions = new List<IUserAction>();
         private readonly List<IResourceAction> resourceActions = new List<IResourceAction>();
         private readonly List<IPIDAction> pidActions = new List<IPIDAction>();
+        private readonly List<IAdminAction> adminActions = new List<IAdminAction>();
 
         public IConfiguration Configuration { get; }
 
@@ -38,6 +39,9 @@ namespace Coscine.Action
 
             var pida = InstantiateAllImplementations<IPIDAction>(assembly);
             pidActions.AddRange(pida);
+
+            var adminA = InstantiateAllImplementations<IAdminAction>(assembly);
+            adminActions.AddRange(adminA);
         }
 
         private static IEnumerable<T> InstantiateAllImplementations<T>(System.Reflection.Assembly assembly) where T : IAction
@@ -105,6 +109,12 @@ namespace Coscine.Action
                 a.OnPIDOwnerContact(args);
             }
         }
-
+        public void EmitQuotaChanged(AdminEventArgs args)
+        {
+            foreach (var a in adminActions)
+            {
+                a.OnQutaChanged(args);
+            }
+        }
     }
 }
diff --git a/src/Action/EventArgs/AdminEventArgs.cs b/src/Action/EventArgs/AdminEventArgs.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8533b33345929ce58ed32bbce32cc60e30fcf844
--- /dev/null
+++ b/src/Action/EventArgs/AdminEventArgs.cs
@@ -0,0 +1,20 @@
+using Coscine.Configuration;
+using System;
+
+namespace Coscine.Action.EventArgs
+{
+    public class AdminEventArgs : ActionEventArgs
+    {
+        public IConfiguration Configuration { get; set; }
+        public Guid ProjectId { get; set; }
+
+        public AdminEventArgs(IConfiguration configuration, object[] args) : base(args)
+        {
+            Configuration = configuration;
+        }
+
+        public AdminEventArgs(IConfiguration configuration) : this(configuration, new object[0])
+        {
+        }
+    }
+}
diff --git a/src/Action/IAdminAction.cs b/src/Action/IAdminAction.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d7e63020b694c4b96bf92e4344557bcbfaf87434
--- /dev/null
+++ b/src/Action/IAdminAction.cs
@@ -0,0 +1,9 @@
+using Coscine.Action.EventArgs;
+
+namespace Coscine.Action
+{
+    public interface IAdminAction : IAction
+    {
+        void OnQutaChanged(AdminEventArgs pidEventArgs);
+    }
+}
diff --git a/src/Action/Implementations/Admin/NotificationAction.cs b/src/Action/Implementations/Admin/NotificationAction.cs
new file mode 100644
index 0000000000000000000000000000000000000000..66ab43d1138366ba9095ef68f7ee9b6cda523644
--- /dev/null
+++ b/src/Action/Implementations/Admin/NotificationAction.cs
@@ -0,0 +1,16 @@
+using Coscine.Action.EventArgs;
+using Coscine.Action.Utils;
+
+namespace Coscine.Action.Implementations.Admin
+{
+    public class NotificationAction : IAdminAction
+    {
+        public int Priority => 1;
+        public bool Enabled => true;
+
+        public void OnQutaChanged(AdminEventArgs adminEventArgs)
+        {
+            NotificationBusUtil.SendAsync(adminEventArgs.Configuration, "quota_changed", NotificationBusUtil.GetAllOwnersForProjectId(adminEventArgs.ProjectId), adminEventArgs.ProjectId.ToString(), new Newtonsoft.Json.Linq.JObject());
+        }
+    }
+}
diff --git a/src/Action/Properties/AssemblyInfo.cs b/src/Action/Properties/AssemblyInfo.cs
index 0bf4a2005ba493cd7f1e9a0e19e7dbfc4c86ddba..355aac7d55ad83913227d4d295b76fb771d41b10 100644
--- a/src/Action/Properties/AssemblyInfo.cs
+++ b/src/Action/Properties/AssemblyInfo.cs
@@ -9,8 +9,8 @@ using System.Reflection;
 [assembly: AssemblyDescription("Action is a part of the CoScInE group.")]
 [assembly: AssemblyCompany("IT Center, RWTH Aachen University")]
 [assembly: AssemblyProduct("Action")]
-[assembly: AssemblyVersion("1.16.0")]
-[assembly: AssemblyFileVersion("1.16.0")]
-[assembly: AssemblyInformationalVersion("1.16.0-topic-1062-pidpa0009")]
+[assembly: AssemblyVersion("1.17.0")]
+[assembly: AssemblyFileVersion("1.17.0")]
+[assembly: AssemblyInformationalVersion("1.17.0-topic-1163-admin0001")]
 [assembly: AssemblyCopyright("2020 IT Center, RWTH Aachen University")]
 
diff --git a/src/Action/packages.config b/src/Action/packages.config
index 218e7e6aac9daca33f3c57eaa1a342c0366e232c..4beb8148bb4feb83e6519bac09e0508f4b9e97c5 100644
--- a/src/Action/packages.config
+++ b/src/Action/packages.config
@@ -2,7 +2,7 @@
 <packages>
   <package id="Consul" version="0.7.2.6" targetFramework="net461" />
   <package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" />
-  <package id="Coscine.Database" version="1.24.0" targetFramework="net461" />
+  <package id="Coscine.Database" version="1.27.0" targetFramework="net461" />
   <package id="Coscine.ProxyApi" version="1.3.0" targetFramework="net461" />
   <package id="EntityFramework" version="6.4.4" targetFramework="net461" />
   <package id="linq2db" version="3.1.1" targetFramework="net461" />