We run an Outlook add-in to extract contacts' data from an external data source to update an existing Outlook contacts folder. Our data source has some additional contact fields that are non-existing in Outlook.
So, how can I programtically for instance create a "Skype" field as a new object property to the existing Contact item object. The user also need to edit this field in the standard contact form.
Take a look at the UserProperties.Add method and the UserProperty object. The user will be able to edit any custom fields on the All Fields page of the standard contact form. For greater discoverability, you might want to implement a published custom form or, for Outlook 2007, form region.
Note that, although you can create a new text property, it is not possible to create a property that behaves like the standard telephone properties.