diff --git a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
index 713603b..ea95b5d 100644
--- a/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/ConnectivityIntentCommand.java
@@ -23,6 +23,8 @@
 
 import org.apache.karaf.shell.commands.Option;
 import org.onosproject.cli.AbstractShellCommand;
+import org.onosproject.core.ApplicationId;
+import org.onosproject.core.CoreService;
 import org.onosproject.net.Link;
 import org.onosproject.net.flow.DefaultTrafficSelector;
 import org.onosproject.net.flow.DefaultTrafficTreatment;
@@ -84,6 +86,10 @@
             required = false, multiValued = false)
     private boolean lambda = false;
 
+    @Option(name = "-a", aliases = "--appId", description = "Application Id",
+            required = false, multiValued = false)
+    private String appId = null;
+
     @Option(name = "-k", aliases = "--key", description = "Intent Key",
             required = false, multiValued = false)
     private String intentKey = null;
@@ -229,6 +235,18 @@
         return constraints;
     }
 
+    @Override
+    protected ApplicationId appId() {
+        ApplicationId appIdForIntent;
+        if (appId == null) {
+            appIdForIntent = super.appId();
+        } else {
+            CoreService service = get(CoreService.class);
+            appIdForIntent = service.getAppId(appId);
+        }
+        return appIdForIntent;
+    }
+
     /**
      * Creates a key for an intent based on command line arguments.  If a key
      * has been specified, it is returned.  If no key is specified, null
@@ -238,6 +256,8 @@
      */
     protected Key key() {
         Key key = null;
+        ApplicationId appIdForIntent;
+
         if (intentKey != null) {
             key = Key.of(intentKey, appId());
         }
