I am adding users to an engagement plan programmaticaly, using the following code:

```
VisitorManager.AddVisitor("salesforce\\fred.smith","{67F395B9-2C29-4B73-9382-69E0FCB6A546}");

```

This works fine, but I also need to store a custom value against the visit. Any ideas on how to do this?

I can't set `vistor.CurrentVisit.Profiles` as there is no setter available and there is no method available to add to it.

I am able to add tags with the following code

```
vistor.Tags.Add("opportunityId", "006M0000004xnLh");

```

However, when I try to retrieve them from within a custom automation action, the values returned are null. I guess because it was set programmaticaly and is being retrieved from a different session? The code I used to retrieve the tags is: 

```
var opportunityTagRow = visitorTags.Find("opportunityId");

```

and also:

```
var allOpportunityRows = visitorTags.GetAll("opportunityId");

```

Any ideas on how best to persist data for a visit?