diff --git a/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb b/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
index 709c3098d..657386216 100644
--- a/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
+++ b/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
@@ -1,7 +1,7 @@
 #
 # Description: This method updates the service provision status.
 # Required inputs: status
-#
+
 module ManageIQ
   module Automate
     module AutomationManagement
@@ -22,7 +22,13 @@ def main
                     raise "Service Template Provision Task not provided"
                   end
 
-                  update_status_message(prov, @handle.inputs['status'])
+                  updated_message = update_status_message(prov, @handle.inputs['status'])
+
+                  if @handle.root['ae_result'] == "error"
+                    @handle.create_notification(:level   => "error",
+                                                :subject => prov.miq_request,
+                                                :message => "Instance Provision Error: #{updated_message}")
+                  end
                 end
 
                 private
diff --git a/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb b/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
index bc2b5bfc8..0c99158ab 100644
--- a/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
+++ b/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
@@ -21,7 +21,13 @@ def main
                   raise "Service Template Provision Task not provided"
                 end
 
-                update_status_message(prov, @handle.inputs['status'])
+                updated_message = update_status_message(prov, @handle.inputs['status'])
+
+                if @handle.root['ae_result'] == "error"
+                  @handle.create_notification(:level   => "error",
+                                              :subject => prov.miq_request,
+                                              :message => "Instance Provision Error: #{updated_message}")
+                end
               end
 
               private
diff --git a/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb b/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
index fa00ad9cf..75751df38 100644
--- a/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
+++ b/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status.rb
@@ -22,7 +22,13 @@ def main
                     raise "Service Template Provision Task not provided"
                   end
 
-                  update_status_message(prov, @handle.inputs['status'])
+                  updated_message = update_status_message(prov, @handle.inputs['status'])
+
+                  if @handle.root['ae_result'] == 'error'
+                    @handle.create_notification(:level   => 'error',
+                                                :subject => prov.miq_request,
+                                                :message => "Ansible Tower Provision Error: #{updated_message}")
+                  end
                 end
 
                 private
diff --git a/spec/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb b/spec/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
index 5837f1704..81ec5d0fd 100644
--- a/spec/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
+++ b/spec/content/automate/ManageIQ/AutomationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
@@ -58,6 +58,12 @@
       msg = "Server [#{miq_server.name}] Service [#{service_orchestration.name}] Step [] Status [fred] Message [] "
       expect(svc_model_request.reload.message).to eq(msg)
     end
+
+    it "creates notification due to ae_result is 'error'" do
+      ae_service.root['ae_result'] = "error"
+      expect(ae_service).to receive(:create_notification)
+      described_class.new(ae_service).main
+    end
   end
 
   context "without a stp request object" do
diff --git a/spec/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb b/spec/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
index c82e49b94..977e07090 100644
--- a/spec/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
+++ b/spec/content/automate/ManageIQ/Cloud/Orchestration/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
@@ -57,6 +57,12 @@
       msg = "Server [#{miq_server.name}] Service [#{service_orchestration.name}] Step [] Status [fred] Message [] "
       expect(svc_model_request.reload.message).to eq(msg)
     end
+
+    it "creates notification due to ae_result is 'error'" do
+      ae_service.root['ae_result'] = "error"
+      expect(ae_service).to receive(:create_notification)
+      described_class.new(ae_service).main
+    end
   end
 
   context "without a stp request object" do
diff --git a/spec/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb b/spec/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
index b1ac31163..c02ca16e7 100644
--- a/spec/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
+++ b/spec/content/automate/ManageIQ/ConfigurationManagement/AnsibleTower/Service/Provisioning/StateMachines/Provision.class/__methods__/update_serviceprovision_status_spec.rb
@@ -58,6 +58,12 @@
       msg = "Server [#{miq_server.name}] Service [#{service_orchestration.name}] Step [] Status [fred] Message [] "
       expect(svc_model_request.reload.message).to eq(msg)
     end
+
+    it "creates notification due to ae_result is 'error'" do
+      ae_service.root['ae_result'] = "error"
+      expect(ae_service).to receive(:create_notification)
+      described_class.new(ae_service).main
+    end
   end
 
   context "without a stp request object" do