Subscriber Relation Context --------------------------- When adding a Subscriber, multiple services are often added at the same time - for example, multiple Phones with multiple Lines. During the "Add" operation, the ``AddSubscriberNew`` workflow therefore iterates (loops) over these added services and makes the data for each instance available in a *context variable*. Consider for example the following workflow input context for adding a simple Subscriber: :: { "input": { "userid": "TestUserX77", "firstName": "Test", "lastName": "UserX77", "mailid": "testuserx77@mail.com", "Phone": [ { "name": "SEP111222333444", "product": "Cisco Unified Client Services Framework", "protocol": "SIP", "lines": { "line": [ { "dirn": { "pattern": "82007", "routePartitionName": "Cu1-DirNum-PT" } } ] } }, { "name": "SEP000222333444", "product": "Cisco Unified Client Services Framework", "protocol": "SIP", "lines": { "line": [ { "dirn": { "pattern": "82008", "routePartitionName": "Cu1-DirNum-PT" } } ] } } ] } } The input context shows there are two phones, each with one line. The ``AddSubscriberNew`` workflow will loop over the phones and put the entire contents of each instance in a context macro called ``{{ input.PhoneX }}``. Therefore, when it iterates over the first Phone, ``{{ input.PhoneX }}`` will be equal to: :: { "name": "SEP111222333444", "product": "Cisco Unified Client Services Framework", "protocol": "SIP", "lines": { "line": [ { "dirn": { "pattern": "82007", "routePartitionName": "Cu1-DirNum-PT" } } ] } } In particular, the input context variable ``{{ input.PhoneX.name }}`` will be equal to ``SEP111222333444``. During the second iteration, ``{{ input.PhoneX.name }}`` will be equal to ``SEP000222333444``. .. |VOSS Automate| replace:: VOSS Automate .. |Unified CM| replace:: Unified CM