Salesforce + Transactional
Connect Transactional with Salesforce to log email events on lead, contact, and opportunity records. Track email engagement alongside your sales pipeline and use Salesforce Process Builder to automate follow-up actions based on email interactions.
OVERVIEW
Connect Transactional with Salesforce to log email events on lead, contact, and opportunity records. Track email engagement alongside your sales pipeline and use Salesforce Process Builder to automate follow-up actions based on email interactions.
Integration Workflow
A step-by-step look at how data flows between your tools and Transactional.
Transactional Email Sent
A transactional email is sent to a lead, contact, or account.
Event Captured
Email lifecycle events are captured and forwarded to Salesforce.
Record Updated
The activity is logged on the corresponding Salesforce record.
Automation Runs
Salesforce flows and Process Builder respond to the new activity.
What You Get
Everything you need to integrate Salesforce with Transactional.
Activity Logging
Log transactional emails as Salesforce Activities on contacts, leads, and opportunities automatically.
Custom Objects
Create custom Salesforce objects to store detailed email analytics data beyond standard activity logging.
Process Builder
Trigger Salesforce processes when emails bounce. Auto-flag leads with bad email addresses.
Report Integration
Include transactional email metrics in Salesforce dashboards and reports for complete visibility.
Get Started in Minutes
Here is a code example showing how to connect Salesforce with Transactional.
// Salesforce Integration via Webhook
import Transactional from "@transactional/sdk";
import jsforce from "jsforce";
const transactional = new Transactional({ apiKey: "txl_your_api_key" });
const sfConn = new jsforce.Connection({ loginUrl: SF_URL });
app.post("/webhooks/salesforce-sync", async (req, res) => {
const event = req.body;
// Find the Salesforce Contact
const contacts = await sfConn.query(
`SELECT Id FROM Contact WHERE Email = '${event.data.to}'`
);
if (contacts.records.length > 0) {
// Log as a Task/Activity
await sfConn.sobject("Task").create({
WhoId: contacts.records[0].Id,
Subject: `Email: ${event.data.subject}`,
Description: `Event: ${event.event} at ${event.timestamp}`,
Status: "Completed",
ActivityDate: new Date().toISOString().split("T")[0],
});
}
res.status(200).send("OK");
});YOUR AGENTS DESERVE
REAL INFRASTRUCTURE.
START BUILDING AGENTS THAT DO REAL WORK.