Skip to main content

Why Integrate SMS with HubSpot?

HubSpot is one of the most popular marketing and sales CRM platforms. Adding SMS gives your team a high-open-rate channel for lead engagement — while email gets 20% open rates, SMS gets 98%. Use it for time-sensitive alerts, appointment reminders, and follow-ups that can't wait for an email.

Two integration methods: Custom Coded Actions in HubSpot Workflows (Node.js snippet), or Webhooks to an external endpoint that calls SpringEdge.

Lead Nurturing

SMS drip sequences for new leads alongside email workflows

Deal Stage Alerts

Notify sales reps via SMS when deals move to key stages

Appointment Reminders

SMS reminders before scheduled meetings reduce no-shows

Campaign SMS

Send promotional SMS to HubSpot contact lists

// HubSpot Custom Coded Action (Node.js)
// Add this in Workflow → Actions →
// Custom Code

const axios = require('axios');

// <SMS_SERVICE_URL> = your SMS service URL,
// shared after sign-up
const API_URL =
  '<SMS_SERVICE_URL>/api/web/send/';

exports.main = async (event) => {
  const phone = event.inputFields['phone'];
  const name = event.inputFields['firstname'];

  // Must match your DLT-approved template
  const message = `Hi ${name}, thanks `
    + `for your interest in SpringEdge. `
    + `Our team will contact you shortly.`
    + ` - SEDEMO`;

  // Form-encoded POST (URLSearchParams)
  const params = new URLSearchParams({
    apikey: process.env.SPRINGEDGE_API_KEY,
    sender: 'SEDEMO',
    to: phone,
    message: message,
    format: 'json',
  });

  const { data } = await axios.post(
    API_URL, params, { timeout: 10000 }
  );
  // data: { groupID: 61, MessageIDs: '61-1',
  //         status: 'AWAITED-DLR' }

  return {
    outputFields: { messageIds: data.MessageIDs },
  };
};

CUSTOM CODED ACTION

HubSpot Workflow Integration

HubSpot's Custom Coded Actions let you run Node.js code directly inside Workflows. This is the cleanest way to send SMS from HubSpot — no external server needed. The code makes a form-encoded POST to the SpringEdge /api/web/send/ endpoint with your apikey, DLT sender ID, number and message; see the SMS API documentation for all parameters.

Setup Steps:

  1. Go to Automation → Workflows → Create Workflow
  2. Set your trigger (e.g. "Contact created" or "Deal stage changed")
  3. Add action: Custom Code
  4. Set phone and firstname as input fields
  5. Add your SpringEdge API key as a secret named SPRINGEDGE_API_KEY, then paste the Node.js code
  6. Activate the workflow

Note: Custom Coded Actions require HubSpot Operations Hub Professional or Enterprise.

Use Cases

Lead Welcome SMS

Instant SMS when a new contact is created from a form, chatbot, or import.

Deal Closed Won

Congratulate customers and notify internal teams when deals close.

Meeting Reminders

SMS reminders 1 hour before scheduled HubSpot meetings. Reduces no-shows by 30%+.

Re-Engagement

SMS to dormant contacts who haven't opened emails in 30+ days.

Frequently Asked Questions

  • How do I send SMS from HubSpot?

    Use Custom Coded Actions in HubSpot Workflows. Add a Node.js code snippet that calls the SpringEdge SMS API with the contact's phone number and a personalised message. Alternatively, use a Webhook action to call an external endpoint that forwards to SpringEdge.

  • Custom Coded Actions require Operations Hub Professional or Enterprise. The Webhook approach works on any HubSpot plan that supports Workflows (Marketing Hub Professional or higher).

  • The Custom Coded Action approach needs basic JavaScript/Node.js knowledge to paste and configure the code snippet. The Webhook approach needs an external server endpoint but no HubSpot coding.

  • Yes. Map HubSpot contact properties (firstname, lastname, company, deal_amount, etc.) as input fields in the Custom Coded Action, then reference them in your SMS message using template literals.

  • SpringEdge charges pay-as-you-go starting at Rs. 0.14-0.16 per SMS. No monthly fees. Visit our pricing page.