diff --git a/examples/examples-grpc/pom.xml b/examples/examples-grpc/pom.xml
new file mode 100644
index 0000000..4113ab3
--- /dev/null
+++ b/examples/examples-grpc/pom.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2020 Nordix Foundation.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.onap.policy.apex-pdp.examples</groupId>
+      <artifactId>examples</artifactId>
+      <version>2.3.0-SNAPSHOT</version>
+   </parent>
+   <artifactId>examples-grpc</artifactId>
+   <name>examples-grpc</name>
+   <description>Specific code for the APEX gRPC Example</description>
+   <properties>
+      <policymodel.name>APEXgRPCPolicy</policymodel.name>
+      <toscapolicy.name>APEXgRPCToscaPolicy</toscapolicy.name>
+   </properties>
+   <dependencies>
+      <dependency>
+         <groupId>org.onap.policy.apex-pdp.auth</groupId>
+         <artifactId>cli-editor</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.apex-pdp.services</groupId>
+         <artifactId>services-engine</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId>
+         <artifactId>plugins-context-schema-avro</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+         <artifactId>plugins-executor-javascript</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+         <artifactId>plugins-event-carrier-grpc</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+         <artifactId>plugins-event-carrier-restclient</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
+         <artifactId>events</artifactId>
+         <version>${version.policy.models}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.onap.policy.common</groupId>
+         <artifactId>policy-endpoints</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>exec-maven-plugin</artifactId>
+            <executions>
+               <!-- Generate the APEX Policy JSON from the APEX CLI command -->
+               <execution>
+                  <id>generate-policy</id>
+                  <phase>compile</phase>
+                  <goals>
+                     <goal>java</goal>
+                  </goals>
+                  <configuration>
+                     <mainClass>org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain</mainClass>
+                     <classpathScope>compile</classpathScope>
+                     <arguments>
+                        <argument>--command-file=${project.basedir}/src/main/resources/policy/${policymodel.name}.apex</argument>
+                        <argument>--output-model-file=${project.build.directory}/classes/${policymodel.name}.json</argument>
+                        <argument>--log-file=${project.build.directory}/${policymodel.name}_policygeneration.log</argument>
+                        <argument>--working-dir=${project.basedir}</argument>
+                     </arguments>
+                  </configuration>
+               </execution>
+               <!-- Generate the APEX ToscaPolicy JSON file-->
+               <execution>
+                  <id>generate-tosca-policy</id>
+                  <phase>compile</phase>
+                  <goals>
+                     <goal>java</goal>
+                  </goals>
+                  <configuration>
+                     <mainClass>org.onap.policy.apex.auth.clieditor.tosca.ApexCliToscaEditorMain</mainClass>
+                     <classpathScope>compile</classpathScope>
+                     <arguments>
+                        <argument>--command-file=${project.basedir}/src/main/resources/policy/${policymodel.name}.apex</argument>
+                        <argument>--output-tosca-file=${project.build.directory}/classes/${toscapolicy.name}.json</argument>
+                        <argument>--log-file=${project.build.directory}/${policymodel.name}_policygeneration.log</argument>
+                        <argument>--apex-config-file=${project.basedir}/src/main/resources/examples/config/APEXgRPC/ApexConfig.json</argument>
+                        <argument>--tosca-template-file=${project.basedir}/src/main/resources/tosca/ToscaTemplate.json</argument>
+                     </arguments>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
+      </plugins>
+   </build>
+</project>
\ No newline at end of file
