diff --git a/robot/assets/templates/aai/add_vnfc_body.template b/robot/assets/templates/aai/add_vnfc_body.template
new file mode 100644
index 0000000..88ababd
--- /dev/null
+++ b/robot/assets/templates/aai/add_vnfc_body.template
@@ -0,0 +1,7 @@
+{
+"vnfc-name": "${vnfc_name}",
+"nfc-naming-code": "${vnfc_nc}",
+"nfc-function": "${vnfc_func}",
+"in-maint": "false",
+"is-closed-loop-disabled": "false"
+}
\ No newline at end of file
diff --git a/robot/resources/aai/create_vnfc.robot b/robot/resources/aai/create_vnfc.robot
new file mode 100644
index 0000000..f140406
--- /dev/null
+++ b/robot/resources/aai/create_vnfc.robot
@@ -0,0 +1,52 @@
+*** Settings ***
+Documentation     Create VNFC in AAI
+
+Resource    ../json_templater.robot
+Resource    aai_interface.robot
+Library    OperatingSystem
+Library    Collections
+
+
+*** Variables ***
+${INDEX_PATH}     /aai/v14
+${ROOT_PATH}      /network/vnfcs/vnfc
+
+${SYSTEM USER}    robot-ete
+${AAI_ADD_VNFC_BODY}=    robot/assets/templates/aai/add_vnfc_body.template
+
+*** Keywords ***
+Create VNFC If Not Exists
+    [Documentation]    Creates VNFC in A&AI if it doesn't exist
+    [Arguments]    ${vnfc_name}    ${vnfc_nc}    ${vnfc_func}
+    ${get_resp}=    Run A&AI Get Request     ${INDEX_PATH}${ROOT_PATH}/${vnfc_name}
+    Return From Keyword If    '${get_resp.status_code}' == '200'
+    Create VNFC    ${vnfc_name}    ${vnfc_nc}    ${vnfc_func}
+
+Create VNFC
+    [Documentation]    Creates VNFC in A&AI
+    [Arguments]    ${vnfc_name}    ${vnfc_nc}    ${vnfc_func}
+    ${arguments}=    Create Dictionary     vnfc_name=${vnfc_name}    vnfc_nc=${vnfc_nc}    vnfc_func=${vnfc_func}
+    ${data}=    Fill JSON Template File    ${AAI_ADD_VNFC_BODY}    ${arguments}
+    ${put_resp}=    Run A&AI Put Request     ${INDEX_PATH}${ROOT_PATH}/${vnfc_name}    ${data}
+    ${status_string}=    Convert To String    ${put_resp.status_code}
+    Should Match Regexp    ${status_string}     ^(201|200)$
+
+Delete VNFC If Exists
+    [Documentation]    Removes VNFC from AAI if it exists
+    [Arguments]    ${vnfc_name}
+    ${get_resp}=    Run A&AI Get Request     ${INDEX_PATH}${ROOT_PATH}/${vnfc_name}
+    Run Keyword If    '${get_resp.status_code}' == '200'    Delete VNFC    ${vnfc_name}    ${get_resp.json()}
+
+Delete VNFC
+    [Documentation]    Removes VNFC from AAI
+    [Arguments]    ${vnfc_name}    ${json}
+    ${resource_version}=   Catenate   ${json['resource-version']}
+    ${put_resp}=    Run A&AI Delete Request    ${INDEX_PATH}${ROOT_PATH}/${vnfc_name}    ${resource_version}
+    Should Be Equal As Strings  ${put_resp.status_code}         204
+
+Get VNFC
+    [Documentation]    Return VNFC
+    [Arguments]    ${vnfc_name}
+    ${resp}=    Run A&AI Get Request     ${INDEX_PATH}${ROOT_PATH}/${vnfc_name}
+    Should Be Equal As Strings  ${resp.status_code}     200
+    [Return]  ${resp.json()}
\ No newline at end of file
diff --git a/robot/resources/heatbridge.robot b/robot/resources/heatbridge.robot
index 2b271ee..c0b9a91 100644
--- a/robot/resources/heatbridge.robot
+++ b/robot/resources/heatbridge.robot
@@ -10,6 +10,7 @@
 Resource    openstack/nova_interface.robot
 Resource    openstack/neutron_interface.robot
 Resource    aai/aai_interface.robot
+Resource    aai/create_vnfc.robot
 
 *** Variables ***
 ${MULTIPART_PATH}  /bulkadd
@@ -21,6 +22,7 @@
 ${FLAVOR_URI}   ${BASE_URI}/flavors/flavor/\${flavor}
 ${VSERVER_URI}   ${BASE_URI}/tenants/tenant/\${tenant}/vservers/vserver/\${vserver_id}
 ${L_INTERFACE_URI}   ${VSERVER_URI}/l-interfaces/l-interface/\${linterface_id}
+${VSERVER_NAME}    \${vserver_name}
 
 #******************** Test Case Variables ****************
 ${REVERSE_HEATBRIDGE}
@@ -41,6 +43,11 @@
     ${KeyIsPresent}=    Run Keyword And Return Status       Dictionary Should Contain Key       ${stack_info}      ${ipv4_oam_address}
     ${ipv4_vnf_address}=   Run Keyword If      ${KeyIsPresent}     Get From Dictionary  ${stack_info}      ${ipv4_oam_address}
     Run Set VNF Params  ${vnf_id}  ${ipv4_vnf_address}  ACTIVE  Active
+    ### Create a vnfc for each vServer ###
+    ${stack_resources}=    Get Stack Resources    auth    ${stack_name}    ${stack_id}
+    ${resource_list}=    Get From Dictionary    ${stack_resources}    resources
+    :FOR   ${resource}    in    @{resource_list}
+    \    Run Keyword If    '${resource['resource_type']}' == 'OS::Nova::Server'    Run Create VNFC    auth    ${resource['physical_resource_id']}    ${service}
     ${keystone_api_version}=    Run Keyword If    '${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}'==''    Get KeystoneAPIVersion
     ...    ELSE    Set Variable   ${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}
     ${url}   ${path}=   Get Keystone Url And Path   ${keystone_api_version}
@@ -58,6 +65,18 @@
     Set Test Variable   ${REVERSE_HEATBRIDGE}   ${reverse_heatbridge}
     Run Validation Query    ${stack_info}    ${service}
 
+Run Create VNFC
+    [Documentation]    Create a VNFC for a vServer
+    [Arguments]    ${alias}     ${vserver_id}    ${service}
+    ${resp}=    Get Openstack Server By Id   ${alias}     ${vserver_id}
+    Return From Keyword If   '${resp.status_code}' != '200'
+    ${info}=   Set Variable   ${resp.json()}
+    ${keys}=    Create Dictionary
+    Set To Dictionary   ${keys}   vserver_name=${info['server']['name']}
+    ${vnfc_name}=   Template String    ${VSERVER_NAME}    ${keys}
+    ${vnfc_nc}=    Set Variable  ${service}
+    ${vnfc_func}=    Set Variable  ${service}
+    Create VNFC If Not Exists    ${vnfc_name}     ${vnfc_nc}     ${vnfc_func}
 
 Run Validation Query
     [Documentation]    Run A&AI query to validate the bulk add
