I'm trying to create an Outlook form that will be flagged in certain circumstances, depending on user input. I've inserted a field called Office, added the Flag Status field to the form, set the Initial Value for Flag Status to: IIf( \[Office\]="Glasgow", "Flagged" ,"Normal" ), and set the Flag Status field to calculate automatically. But the form seems to disregard the Office value. What am I doing wrong?

The Flag Status property doesn't actually have values of Flagged and Normal. Outlook displays those values to the user but stores a value of 2 for Flagged and 0 for Normal. Therefore, your formula should be

IIf( \[Office\]="Glasgow", 2,0)

When in doubt about the allowable values for built-in properties, you can consult the object browser either in the form's script window or in Outlook's Visual Basic for Applications (VBA) environment.