I checked the template and found the issue I believe.
There are 2 contact lookup queries:
1st one is (Yellow) without Mobile number. So this one will not match when calling in with mobile number
<Scenario Type="REST" EntityId="Contacts" EntityOrder="[LookupOrder]">
<Request SkipIf="[IIf([FoundRecordCount]>0,True,False)]" Url="[Domain]/api/data/v8.2/contacts?$select=firstname,lastname,_parentcustomerid_value,telephone1,telephone2,telephone3,fax,address2_telephone1,address2_telephone2,address2_telephone3,address2_fax,pager,emailaddress1&$filter=contains(telephone1,'[Number]') or contains(telephone2,'[Number]') or contains(telephone3,'[Number]') or contains(fax,'[Number]') or contains(address2_telephone1,'[Number]') or contains(address2_telephone2,'[Number]') or contains(address2_telephone3,'[Number]') or contains(address2_fax,'[Number]') or contains(pager,'[Number]')" MessagePasses="0" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
<Rules>
<Rule Type="Any">value.contactid</Rule>
</Rules>
<Variables>
<Variable Name="ContactId" Path="value.contactid">
<Filter />
</Variable>
<Variable Name="AccountId" Path="value._parentcustomerid_value">
<Filter />
</Variable>
<Variable Name="FirstName" Path="value.firstname">
<Filter />
</Variable>
<Variable Name="LastName" Path="value.lastname">
<Filter />
</Variable>
<Variable Name="Email" Path="value.emailaddress1">
<Filter />
</Variable>
<Variable Name="PhoneBusiness" Path="value.telephone1">
<Filter />
</Variable>
<Variable Name="PhoneBusiness2" Path="value.telephone2">
<Filter />
</Variable>
<Variable Name="PhoneOther" Path="value.telephone3">
<Filter />
</Variable>
<Variable Name="PhoneMobile" Path="value.address2_telephone1">
<Filter />
</Variable>
<Variable Name="PhoneMobile2" Path="value.address2_telephone2">
<Filter />
</Variable>
<Variable Name="PhoneHome" Path="value.address2_telephone3">
<Filter />
</Variable>
<Variable Name="PhoneHome2" Path="">
<Filter />
</Variable>
<Variable Name="FaxHome" Path="value.address2_fax">
<Filter />
</Variable>
<Variable Name="FaxBusiness" Path="value.fax">
<Filter />
</Variable>
<Variable Name="Pager" Path="value.pager">
<Filter />
</Variable>
</Variables>
<Outputs Next="GetAccountName" AllowEmpty="false" />
</Scenario>
<Scenario Type="REST" EntityId="Contacts" EntityOrder="[LookupOrder]">
<Request SkipIf="[IIf([FoundRecordCount]>0,True,False)]" Url="[Domain]/api/data/v8.2/contacts?$select=firstname,lastname,_parentcustomerid_value,assistantphone,managerphone,mobilephone,business2,home2,address1_telephone1,address1_telephone2,address1_telephone3,address1_fax,emailaddress1&$filter=contains(assistantphone,'[Number]') or contains(managerphone,'[Number]') or contains(mobilephone,'[Number]') or contains(business2,'[Number]') or contains(home2,'[Number]') or contains(address1_telephone1,'[Number]') or contains(address1_telephone2,'[Number]') or contains(address1_telephone3,'[Number]') or contains(address1_fax,'[Number]')" MessagePasses="0" RequestEncoding="UrlEncoded" RequestType="Get" ResponseType="Json" />
<Rules>
<Rule Type="Any">value.contactid</Rule>
</Rules>
<Variables>
<Variable Name="ContactId" Path="value.contactid">
<Filter />
</Variable>
<Variable Name="AccountId" Path="value._parentcustomerid_value">
<Filter />
</Variable>
<Variable Name="FirstName" Path="value.firstname">
<Filter />
</Variable>
<Variable Name="LastName" Path="value.lastname">
<Filter />
</Variable>
<Variable Name="Email" Path="value.emailaddress1">
<Filter />
</Variable>
<Variable Name="PhoneBusiness" Path="value.assistantphone">
<Filter />
</Variable>
<Variable Name="PhoneBusiness2" Path="value.business2">
<Filter />
</Variable>
<Variable Name="PhoneOther" Path="value.managerphone">
<Filter />
</Variable>
<Variable Name="PhoneMobile" Path="value.mobilephone">
<Filter />
</Variable>
<Variable Name="PhoneHome" Path="value.home2">
<Filter />
</Variable>
<Variable Name="PhoneMobile2" Path="value.address1_telephone1">
<Filter />
</Variable>
<Variable Name="PhoneHome2" Path="value.address1_telephone2">
<Filter />
</Variable>
<Variable Name="FaxBusiness" Path="value.address1_telephone3">
<Filter />
</Variable>
<Variable Name="FaxHome" Path="value.address1_fax">
<Filter />
</Variable>
<Variable Name="Pager" Path="">
<Filter />
</Variable>
</Variables>
As you can see the query result will come in different mappings where the first one will flush mobile phone since there is no value.address2_telephone1 and the 2nd one will flush Business phone since there is no value.assistantphone
This doesn't seem right by me actually.