A Destination is where records go when they leave a Journey. When a record reaches a Destination, Tapistro performs an Activation, such as syncing to HubSpot or adding a person to a Smartlead campaign.
Available Destination types
Category | Types |
CRM sync | HubSpot account sync, HubSpot person sync, Salesforce account, Salesforce contact, Salesforce lead, Salesforce campaign member |
Sales engagement | Smartlead, SalesRobot, HeyReach, Instantly, lemlist, Outreach, Outplay, Marketo |
Advertising | LinkedIn Ads account audience, LinkedIn Ads person audience |
Notification | Slack (account or person), email (account or person), Google Chat (account or person) |
File export | CSV (account or person), Google Sheet (account or person) |
The base prompt
Create a [type] destination named "[your name for this destination]".
[Type settings: campaign, channel, recipient, or sheet]
Keep the standard fields.
Custom field mappings:
"[destination field name]" = [where the value comes from]
"[destination field name]" = [where the value comes from]
Every Destination comes with standard fields, such as email, name, title and domain. Custom field mappings are added on top of them.
Describe where a value comes from
You can describe each value in plain English. Claude turns it into the field path that Tapistro uses.
Say this | Claude writes |
"account domain" | account.domain |
"person LinkedIn URL" | person.payload->>'linkedInUrl' |
"the result of agent [name]" | account.payload ->> 'computed:[ID]' |
"the answer '[AnswerName]' from agent [name]" | account.payload -> 'computed:[ID]' ->> '[AnswerName]' |
"email 1 subject from sequence agent [name]" | person.payload -> 'computed:[ID]' ->> 'email_1.subject' |
"the CSV custom field [namespace]:[fieldName]" | account.payload ->> '[namespace]:[fieldName]' |
"always set to 'Tier A'" | A fixed value |
"the agent's result, but blank if it says Error" | NULLIF(... , 'Error') |
Note: Some Classify Agents store their result under category. If you're not sure, add "Check how the agent [name] stores its output" and Claude picks the right path.
HubSpot sync
Create a HubSpot account sync destination named "[your name for this destination]".
Match existing companies. Create a new company when there's no match: yes / no.
If more than one company matches, update all of them: yes / no.
Custom fields (HubSpot internal property names):
[property] = result of the agent [name]
[property] = answer "[AnswerName]" from the agent [name]
[property] = result of the agent [name], blank if "Error"
First, check in HubSpot that each property exists and confirm its internal name.
Use HubSpot's internal property names, not the labels you see in HubSpot.
Dropdown properties need HubSpot's internal value, not the label. Before you map a fixed value to a dropdown, ask Claude to look up the internal value.
HubSpot person sync works the same way, using contact properties.
To connect HubSpot first, see Creating a HubSpot Connection in Tapistro.
Settings for other Destination types
Add the line for your Destination type to the base prompt.
Type | Say this |
Smartlead | "Add to the Smartlead campaign '[name]'. Map these custom fields: [campaign field] = email 1 subject from [agent]..." The field names must match the campaign's custom fields. |
Slack | "Post to #[channel] with the header '[text]'." |
"Email [recipient], cc [person], subject '[text]'." | |
Google Sheet | "Append to the sheet [link], tab '[name]'. Never rotate tabs." |
SalesRobot | "Add to the SalesRobot campaign '[name]' on [sender]'s LinkedIn account." |
