diff --git a/api/src/engine/models/result/alert-result.model.ts b/api/src/engine/models/result/alert-result.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0c86c120ba51b6281cd740bacf3af36ec50517ed
--- /dev/null
+++ b/api/src/engine/models/result/alert-result.model.ts
@@ -0,0 +1,25 @@
+import { Field, ObjectType, registerEnumType } from '@nestjs/graphql';
+import { Result } from './common/result.model';
+
+export enum AlertLevel {
+  INFO,
+  SUCCESS,
+  WARNING,
+  ERROR,
+}
+
+registerEnumType(AlertLevel, {
+  name: 'AlertLevel',
+});
+
+@ObjectType()
+export class AlertResult extends Result {
+  @Field({ nullable: true })
+  title?: string;
+
+  @Field()
+  message: string;
+
+  @Field(() => AlertLevel, { defaultValue: AlertLevel.INFO, nullable: true })
+  level?: AlertLevel;
+}
diff --git a/api/src/engine/models/result/common/result-union.model.ts b/api/src/engine/models/result/common/result-union.model.ts
index 0e385962665d0ad0708c84b4597273b4678f55d8..6b5851b689abb8ee2423bc3300a37651e4a16052 100644
--- a/api/src/engine/models/result/common/result-union.model.ts
+++ b/api/src/engine/models/result/common/result-union.model.ts
@@ -1,11 +1,12 @@
 import { createUnionType } from '@nestjs/graphql';
+import { AlertResult } from '../alert-result.model';
+import { BarChartResult } from '../bar-chart-result.model';
 import { GroupsResult } from '../groups-result.model';
 import { HeatMapResult } from '../heat-map-result.model';
 import { LineChartResult } from '../line-chart-result.model';
+import { MeanChartResult } from '../means-chart-result.model';
 import { RawResult } from '../raw-result.model';
 import { TableResult } from '../table-result.model';
-import { BarChartResult } from '../bar-chart-result.model';
-import { MeanChartResult } from '../means-chart-result.model';
 
 export const ResultUnion = createUnionType({
   name: 'ResultUnion',
@@ -17,6 +18,7 @@ export const ResultUnion = createUnionType({
     LineChartResult,
     BarChartResult,
     MeanChartResult,
+    AlertResult,
   ],
   resolveType(value) {
     if (value.headers) {
@@ -43,6 +45,10 @@ export const ResultUnion = createUnionType({
       return MeanChartResult;
     }
 
+    if (value.message) {
+      return AlertResult;
+    }
+
     return RawResult;
   },
 });
diff --git a/api/src/schema.gql b/api/src/schema.gql
index 065098a92c369abe157f9c279509fff2d244c45e..3a76d04557b4cea22fff11de1a3231b9f8c2d2ef 100644
--- a/api/src/schema.gql
+++ b/api/src/schema.gql
@@ -174,13 +174,21 @@ type FormulaOperation {
   operationTypes: [String!]!
 }
 
+type ChartAxis {
+  """label of the Axis"""
+  label: String
+
+  """label of each element on this Axis"""
+  categories: [String!]
+}
+
 type GroupResult {
   name: String!
   description: String
   results: [ResultUnion!]!
 }
 
-union ResultUnion = TableResult | RawResult | GroupsResult | HeatMapResult | LineChartResult | BarChartResult | MeanChartResult
+union ResultUnion = TableResult | RawResult | GroupsResult | HeatMapResult | LineChartResult | BarChartResult | MeanChartResult | AlertResult
 
 type TableResult {
   name: String!
@@ -248,12 +256,17 @@ type MeanChartResult {
   pointCIs: [PointCI!]!
 }
 
-type ChartAxis {
-  """label of the Axis"""
-  label: String
+type AlertResult {
+  title: String
+  message: String!
+  level: AlertLevel
+}
 
-  """label of each element on this Axis"""
-  categories: [String!]
+enum AlertLevel {
+  INFO
+  SUCCESS
+  WARNING
+  ERROR
 }
 
 type ExtraLineInfo {
@@ -274,17 +287,17 @@ enum LineType {
   DASHED
 }
 
-type Header {
-  name: String!
-  type: String!
-}
-
 type PointCI {
   min: Float
   mean: Float!
   max: Float
 }
 
+type Header {
+  name: String!
+  type: String!
+}
+
 type Author {
   username: String
   fullname: String