Obtain an ID from a Custom Lookup Field (rather than Object Name)

Obtain an ID from a Custom Lookup Field (rather than Object Name)

Hello,

I have a custom lookup field on Accounts (a_contactlookupfield) that allows users to select a Contact (doesn't have to belong to the Account). 

I am trying to write a function that sets a field on the Contact "Key Strategic Contact" to "true" if it has been selected in the contact lookup field on an Account. 

When I test my function in the creator (passing a_field1 as a Contact Id (e.g 123456000001234567) - it updates the "Key Strategic Contact" field.
When I attach it to a workflow (triggered by a field update), it doesn't work.

I suspect this might be because the Contact is stored as a name, rather than an ID in the custom lookup field. Any ideas? This is my second function so please be gentle. :) 

Code

Name: a_contactlookupfield
Value: Account.a_contactlookupfield
  1. void Function1 (string a_field1 ) 
  2. respUpdate = zoho.crm.updateRecord("Contacts" ,input.a_field1ID ,{ "Key Strategic Contact" : true } ) ;