Integrations

Send every leadwhere it belongs

Mtschat connects Instagram conversations to the tools you already run your business on. Tags, emails and orders move automatically — no copying from DMs into spreadsheets.

Native integrations

Five connections, set up in minutes

Every integration is included on every plan, Free included. Connect an account once, then use it as an action block inside any automation in the Flow Builder.

HubSpot

Turn Instagram conversations into CRM records your sales team can work.

What syncs
Contacts, email and phone captured in DMs, tags as contact properties, and a timeline note for each completed automation.
Typical use
A prospect replies to a story asking about pricing; Mtschat captures their email and creates a HubSpot contact for follow-up.

Mailchimp

Grow your email list from Instagram without a separate landing page.

What syncs
Subscribers with name and email, added to the audience you choose, with Mtschat tags mapped to Mailchimp tags.
Typical use
A creator posts a Reel with “comment GUIDE”; everyone who shares their email in the DM joins the newsletter audience.

Klaviyo

Feed Instagram intent into the email and SMS flows you already run.

What syncs
Profiles with email and consent, list membership, and custom events such as “link clicked” or “lead captured”.
Typical use
A shopper asks for a discount code in DMs; the profile joins a Klaviyo list and triggers your welcome flow.

Shopify

Answer product questions with real catalogue data and attribute sales to conversations.

What syncs
Product titles, prices and links for DM replies, plus orders matched to Mtschat contacts so conversions show up in Insights.
Typical use
Someone comments “SIZE” on a product post and receives a DM with the product link and available sizes.

Google Sheets

The simplest way to get answers out of Instagram and into a shared table.

What syncs
A new row per captured lead or form answer, with the columns you map: handle, name, email, tags, timestamp.
Typical use
A studio collects class-booking requests through a DM flow and reviews them in a sheet each morning.

REST API & webhooks

Not on the list? Connect anything else with the Mtschat API and signed webhooks.

What syncs
Contacts, tags and custom fields through the API; real-time events such as new contacts, tag changes and completed automations through webhooks.
Typical use
Post every qualified lead into your own backend or an internal tool the moment it is captured.

HubSpot, Mailchimp, Klaviyo, Shopify and Google Sheets are trademarks of their respective owners. Mtschat is not affiliated with or endorsed by them, or by Meta or Instagram.

For developers

API & signed webhooks

Read and update contacts, apply tags and set custom fields over a REST API. Subscribe to webhooks and Mtschat will send a JSON event to your endpoint whenever something happens.

  • Every webhook request carries an HMAC-SHA256 signature in the X-Mtschat-Signature header, so you can verify it came from Mtschat.
  • Each payload includes a timestamp; reject anything older than a few minutes to block replayed requests.
  • Events include contact created, tag added, automation completed and link clicked.
  • API keys are created per workspace and can be revoked at any time.

Read how we handle data and keys on the security page.

Example webhook payload
{
  "id": "evt_8f2c1a",
  "type": "contact.tag_added",
  "created_at": "2026-10-05T09:14:02Z",
  "data": {
    "contact_id": "ct_51d9e7",
    "instagram_username": "studio.lena",
    "tag": "guide-requested",
    "automation": "Auto-DM links from comments"
  }
}
Verify the signature (Node.js)
const crypto = require('crypto');

function isValid(rawBody, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex');
  const a = Buffer.from(expected);
  const b = Buffer.from(signature || '');
  return a.length === b.length &&
    crypto.timingSafeEqual(a, b);
}

// Express: use the raw body, not parsed JSON
app.post('/mtschat', express.raw({ type: '*/*' }), (req, res) => {
  const sig = req.get('X-Mtschat-Signature');
  if (!isValid(req.body, sig, process.env.MTSCHAT_SECRET)) {
    return res.sendStatus(401);
  }
  const event = JSON.parse(req.body);
  // handle event.type ...
  res.sendStatus(200);
});
Requesting an integration

Need a tool we don’t connect to yet?

Tell us what you use and what you want to sync. Requests from customers decide what we build next — and in the meantime, the API and webhooks usually cover the gap.

Connect Instagram to the rest of your stack

Every plan includes every integration. Start free with 100 active contacts — no card required.