Short Description Salesforce is Hive9's most common CRM integration. This article covers what it can do, the standard mappings, and common pitfalls.
What this article answers
- What Hive9 syncs to and from Salesforce.
- The standard field mappings.
- Watch-outs around campaign hierarchies and source codes.
What the integration does
The Salesforce integration is bi-directional:
Push (Hive9 → Salesforce)
- Hive9 tactics can sync to Salesforce as Campaigns (or another mapped object).
- Tactic attributes feed Salesforce campaign fields.
- The External Name (if configured) becomes the Salesforce campaign name.
Pull (Salesforce → Hive9)
- Salesforce activity — responses, MQLs, opportunities, closed deals — pulls back into Hive9.
- Attribution flows through the Tactic ID linkage.
- Performance dashboards aggregate the Salesforce data.
Standard field mappings
The exact mappings depend on your setup, but a typical baseline is:
| Hive9 attribute | Salesforce field |
|---|---|
| Tactic Name (or External Name) | Campaign Name |
| Tactic Start Date | Campaign Start Date |
| Tactic End Date | Campaign End Date |
| Tactic Type | Campaign Type |
| Tactic Owner | Campaign Owner |
| Hive9 Tactic ID | Custom Hive9 ID field on Campaign |
| Planned Cost | Budgeted Cost |
| Actual Cost | Actual Cost |
Performance data flows the other way — from Salesforce Campaign Members, Opportunities, etc. — back into Hive9 attached to the linked Tactic.
Tactic Type → Campaign Type mapping
Each Hive9 Tactic Type should map to a Salesforce Campaign Type. If your Tactic Type catalog and your Salesforce Campaign Type catalog don't align, the mapping requires:
- Aligning the catalogs (preferred).
- Or building a translation map (more complex; CSM can help).
Source codes / Hive9 Tactic ID
Salesforce needs to know which Salesforce campaign maps to which Hive9 Tactic. Typically a custom field on the Campaign object holds the Hive9 Tactic ID. Make sure this field exists and is populated by the integration.
When attribution events arrive (a closed deal credited to a campaign), Salesforce uses the Tactic ID to push the credit back to Hive9 correctly.
Setup checklist
When configuring Salesforce integration, ensure:
- API user with sufficient permissions in Salesforce (Campaign read/write, Opportunity read).
- Custom field on the Campaign object to hold Hive9 Tactic ID.
- Campaign Type values in Salesforce match (or are mapped to) Hive9 Tactic Types.
- OAuth flow completed with the Salesforce admin user.
- Per-Tactic-Type enablement in your Model's Tactic Library.
Common pitfalls
Campaign hierarchies don't carry over cleanly. Salesforce supports parent/child Campaigns; Hive9's hierarchy is Plan → Campaign → Program → Tactic. Decide which Hive9 level maps to Salesforce Campaign. Most commonly: Tactic → Salesforce Campaign, with parent context carried via custom fields.
Multiple Salesforce orgs. If your organization has multiple Salesforce orgs (e.g., one per business unit), you'll need multiple Salesforce integrations in Hive9. Remember the per-Model limit: only one integration per type per Model.
Tactic Type name mismatches. If you rename a Hive9 Tactic Type, the corresponding Salesforce Campaign Type mapping may need to be updated. Catch this in pre-go-live testing.
Approval timing. By default, push happens when the Tactic is approved. Drafts and pending tactics aren't pushed. Plan your approval workflows around this.
Common questions
Will closed-deal attribution show up in Hive9 dashboards? Yes — once Salesforce opportunities are linked to Hive9-mapped campaigns, closed-deal revenue flows back and powers ROI dashboards.
What if Salesforce rejects a Hive9 push? The error is captured in Hive9's integration logs. Contact Support for log review.
Can I push to a Salesforce custom object instead of Campaign? Standard integration uses Campaign. Custom object targets require custom configuration via your CSM.
Does the integration support Salesforce Lightning? Yes — Lightning and Classic are both supported as long as the API and OAuth flows are configured.
Comments
Please sign in to leave a comment.