Connecting your Hotmart account | IcloneU
Platform Integrations

Connecting your Hotmart account

Connect Hotmart so your clone answers purchase and subscription questions from your live account, and your workflows react the moment something happens in Hotmart — a payment approved or declined, a checkout abandoned, a refund, a subscription change, a student's progress.

10 min read Beginner Updated September 24, 2026

Hotmart is where your courses, e-books, memberships and subscriptions are sold. Connecting it gives your clone a live line into that account, so it stops guessing about who bought what and answers from Hotmart itself. Sixteen of Hotmart's own events can also start workflows — from an approved or declined payment to a refund, a subscription change, a physical order ready to ship or a student finishing a module. You'll create API credentials in Hotmart, paste two values into IcloneU, and — if you want the triggers — add one more token and a webhook.

What the connection gives you

  • Answers from the source of truth. Your clone gets seven Hotmart abilities — check a purchase, list active subscriptions, list recent sales, list your products, look up a product, get its checkout link and create a coupon — and it is instructed to answer only from what those return, never from the knowledge library or from what the customer claims.
  • It sells, too. Ask the clone what's on offer and it lists your products, each active one already carrying its main-offer pay.hotmart.com link; say you want one and it looks up that product's offers, then quotes the price Hotmart returns alongside the link for the offer or plan you chose. It is instructed never to type a link or a price from memory — no more pasting links into the knowledge base.
  • Read-only, with one exception. Every lookup only reads: the connection cannot grant access, issue refunds, cancel or reactivate a subscription, or resend login credentials. The one thing it writes is a coupon — Create Coupon makes a real, redeemable one on a product, capped by a ceiling you set on the clone. Leave that ceiling empty and nothing writes at all.
  • Sixteen workflow triggers. Payments (approved, declined, pending, expired, overdue), refunds and chargebacks, the end of the refund window, abandoned checkouts, subscription cancellations and changes, physical orders ready to ship and Hotmart Club course progress can each start a workflow, with the event's own fields available as run variables.
Where it lives

Hotmart is a connector, so it sits in Automations → Connectors under Available Connectors, in the E-commerce category. The Connectors tab is part of every paid plan.

Step 1 — Create the API credentials in Hotmart

  1. Create a credential

    In Hotmart go to Tools → Hotmart Credentials and click Create credential. Give it a name you'll recognise later — IcloneU works. If your account already has a credential you use elsewhere (an agency, another tool), create a separate one anyway: it costs nothing and you can delete it without breaking the other integration.

  2. Keep the file Hotmart downloads

    Hotmart doesn't show the new credential's secret on screen. Instead it downloads a text file named hotmart_credentials_….txt with three lines — the Client ID, the Client Secret and a Basic token. That file is the only copy: afterwards the credentials page lists your credential with its Client ID only. Lose the file and the fix is to delete the credential and create a new one.

  3. You need two of the three values

    IcloneU asks for the Client ID and the Client Secret. The Basic token in the file is just those two values encoded together, so IcloneU builds it itself — there is nothing to paste for it.

Step 2 — Connect it in IcloneU

  1. Open the connector

    Go to Automations → Connectors, find Hotmart under Available Connectors and click its tile.

  2. Name the connection

    Connection Name is how workflows and clones refer to it later. Leave it blank and the connection is simply called Hotmart.

  3. Paste the credentials

    Client ID and Client Secret from the credentials file in Step 1. Both are required. You can fill in Webhook Token (hottok) now too if you already have it — Step 3 explains where it comes from — or leave it blank and add it later.

  4. Connect

    IcloneU signs in to Hotmart with those credentials and makes a live read call before it saves anything, so wrong or incomplete credentials fail here rather than silently later.

Re-check it any time

A saved connection appears under Active Connections. Select it and use Test Connection to run the same live check again — useful after rotating a secret in Hotmart, or when a clone suddenly can't look anything up.

Connections count against your plan

Each connector connection you save uses one of your plan's connection slots. If you're already at the limit, the save is blocked with a message naming the plan that has room — remove a connection you no longer use, or upgrade.

Step 3 (optional) — Turn on the workflow triggers

Skip this step and the connection still works perfectly for everything your clone looks up — it just never hears from Hotmart, so the workflow triggers stay silent. Two things make it work: a token that lets IcloneU recognise your account's deliveries, and a webhook in Hotmart that sends them. Do them in that order — token first, webhook second — because Hotmart starts sending the moment the webhook is saved.

  1. Copy your hottok

    In Hotmart go to Tools → Webhook and open the Authentication tab. The hottok shown there is one fixed token for your whole Hotmart account — every webhook delivery carries it, and it is how IcloneU knows the event is yours.

  2. Paste it into the connection

    Back in IcloneU, open the Hotmart connection under Active Connections, paste it into Webhook Token (hottok) and save.

  3. Register the webhook in Hotmart

    On the My settings tab of the same Webhook page click Register Webhook. Name the configuration (IcloneU), leave the product on All products unless you only want one product's events, and in the URL field paste https://icloneu.ai/api/HotmartWebhook. Keep the version on 2.0.0.

  4. Pick the events

    Under Events to send tick the events you want workflows to react to. Ticking them all is the simplest choice and does no harm — IcloneU accepts every delivery, and nothing runs unless a Live workflow uses that event. Picking one by one? The table under What you can build names the Hotmart event behind each trigger; the original three are Purchase approved (PURCHASE_APPROVED), Cart abandonment (PURCHASE_OUT_OF_SHOPPING_CART) and Subscription cancellation (SUBSCRIPTION_CANCELLATION). Tick the data-processing acknowledgement and save.

  5. Send a test

    Your new configuration appears in the list with its toggle on. The list icon at the right of its row sends a test event, and the History tab shows what Hotmart delivered and the response it got — IcloneU answers 200 to every delivery. A test event is handled like a real one, so a Live workflow on Purchase approved will run for Hotmart's sample buyer.

Registered the webhook before the newer triggers?

A webhook configuration only sends the events ticked on it. If yours was set up with just the original three, Hotmart never sends the others and those triggers stay silent — update the configuration in Hotmart and tick the events you want. The History tab shows exactly which events Hotmart has sent.

The token is the identity — treat it as a secret

Each delivery carries your hottok, and that is how IcloneU knows which account sent it. Only connections with no red error badge on their icon and a hottok saved are recognised. A delivery with a token IcloneU doesn't recognise is accepted and dropped — nothing runs, and nothing errors back to Hotmart.

Why IcloneU never answers Hotmart with an error

Hotmart switches a webhook configuration off on its own when the URL returns errors. So if deliveries arrive before you've saved the hottok — or with a token that doesn't match — IcloneU still replies OK and simply ignores them. Your configuration stays on, and events start flowing the moment the right token is saved. Nothing to reset on the Hotmart side.

What you can build

In the workflow builder add a trigger and pick Connector event (category External). The Event dropdown groups events under each connected platform, and Hotmart's sixteen appear there while the connection's icon has no red error badge. Select one and a View available variables button appears — it lists every field that event carries, each with its {{rv_*}} token.

EventFires whenFields you'll reach for
Hotmart — Purchase approvedHotmart approves the payment (PURCHASE_APPROVED) — the moment the buyer gains access.{{rv_first_name}}, {{rv_product_name}}, {{rv_email}}, {{rv_total}}, {{rv_transaction}}, {{rv_coupon_code}}, {{rv_installments}}; on subscription products also {{rv_plan_name}} and {{rv_subscriber_code}}
Hotmart — Payment declinedA purchase attempt failed (PURCHASE_CANCELED) — the card was refused, the issuer blocked it, or the attempt was cancelled before approval.{{rv_first_name}}, {{rv_product_name}}, {{rv_refusal_reason}} (when Hotmart gives one), {{rv_checkout_url}}
Hotmart — Payment pending (boleto / Pix)Hotmart issued a boleto (PURCHASE_BILLET_PRINTED): the buyer chose to pay later, and access waits until they do.{{rv_billet_url}}, {{rv_billet_barcode}}; for a Pix charge {{rv_pix_code}}, {{rv_pix_qrcode}}, {{rv_pix_expires_at}}; {{rv_total}}
Hotmart — Payment expiredA pending boleto or Pix was never paid and Hotmart gave up on it (PURCHASE_EXPIRED).{{rv_first_name}}, {{rv_product_name}}, {{rv_total}}, {{rv_checkout_url}}
Hotmart — Subscription payment overdueA subscription renewal charge didn't go through (PURCHASE_DELAYED).{{rv_first_name}}, {{rv_plan_name}}, {{rv_total}}, {{rv_next_charge_date}} (Hotmart's next attempt), {{rv_billet_url}}
Hotmart — Refund requestedThe buyer asked for a refund inside the refund window (PURCHASE_PROTEST).{{rv_first_name}}, {{rv_product_name}}, {{rv_warranty_until}} (when the refund window ends), {{rv_purchased_at}}
Hotmart — Purchase refundedHotmart refunded the purchase (PURCHASE_REFUNDED).{{rv_first_name}}, {{rv_product_name}}, {{rv_total}}, {{rv_occurred_at}}
Hotmart — ChargebackThe buyer disputed the charge with their bank (PURCHASE_CHARGEBACK) — mostly an alert for your team.{{rv_product_name}}, {{rv_email}}, {{rv_total}}, {{rv_transaction}}
Hotmart — Purchase complete (refund window closed)The refund window ended without a refund, so the sale is final (PURCHASE_COMPLETE).{{rv_first_name}}, {{rv_product_name}}, {{rv_purchased_at}}
Hotmart — Checkout abandonedA lead filled in their details on the payment page and didn't finish (PURCHASE_OUT_OF_SHOPPING_CART). Hotmart evaluates this roughly every 30 minutes, so it is not instant.{{rv_first_name}}, {{rv_product_name}}, {{rv_offer_code}}, {{rv_email}}, {{rv_phone}}
Hotmart — Subscription canceledA subscriber cancels (SUBSCRIPTION_CANCELLATION) — the winback moment.{{rv_first_name}}, {{rv_product_name}}, {{rv_plan_name}}, {{rv_next_charge_date}}, {{rv_last_price}}
Hotmart — Subscription plan changedA subscriber moved to another plan of the same product (SWITCH_PLAN).{{rv_plan_name}} (the new plan), {{rv_previous_plan_name}}, {{rv_next_charge_date}} (first charge on the new plan), {{rv_email}}
Hotmart — Subscription billing day changedA subscriber changed the day of the month they're billed (UPDATE_SUBSCRIPTION_CHARGE_DATE).{{rv_first_name}}, {{rv_old_charge_day}}, {{rv_new_charge_day}}, {{rv_next_charge_date}}
Hotmart — Physical order ready to shipAn approved purchase of a physical product produced its shipping details (ORDER_FULFILLMENT). Digital products never fire it.{{rv_first_name}}, {{rv_items_summary}}, {{rv_shipping_address}}, {{rv_carrier}}, {{rv_processing_days}}, {{rv_delivery_days}}
Hotmart — Student's first accessA student opens the course in Hotmart Club for the first time (CLUB_FIRST_ACCESS).{{rv_first_name}}, {{rv_product_name}}, {{rv_email}}
Hotmart — Module completedA student finishes a module in Hotmart Club (CLUB_MODULE_COMPLETED) — once per module per student.{{rv_first_name}}, {{rv_product_name}}, {{rv_module_name}}
Checkout abandoned does not come with a recovery link

Hotmart doesn't send one, so there is no link variable to map — build the message around the product name and your own checkout URL for that offer. {{rv_offer_code}} tells you which offer was on the page when more than one leads to the same product.

The payment triggers bring a link back to the offer

Every payment and refund trigger — Purchase approved through Purchase complete (refund window closed) in the table — carries {{rv_checkout_url}}: a pay.hotmart.com link to the exact offer the buyer was buying, built the same way as the links your clone sends. That's what makes Payment declined and Payment expired worth automating. It's empty when Hotmart's delivery doesn't include the product's checkout code — IcloneU never guesses a link.

  1. Post-purchase welcome

    Trigger on Purchase approved, then send the welcome: greet {{rv_first_name}}, name {{rv_product_name}}, and say where the login details arrive. This one is transactional, so it is never held back by the recovery limits below.

  2. Retry after a declined payment

    Trigger on Payment declined, wait a few minutes, then tell the buyer their payment for {{rv_product_name}} didn't go through and send {{rv_checkout_url}} so they can try another card or payment method. It's transactional, so the recovery limits below don't hold it back.

  3. Boleto and Pix follow-up

    Trigger on Payment pending (boleto / Pix) and send the payment details straight away — {{rv_billet_url}} for a boleto, {{rv_pix_code}} for Pix — so the buyer has them at hand. If it's never paid, Payment expired fires later with {{rv_checkout_url}} for a fresh attempt.

  4. Checkout recovery

    Trigger on Checkout abandoned, wait as long as you think is polite, then message the lead about {{rv_product_name}} with your own checkout link.

  5. A renewal that didn't go through

    Trigger on Subscription payment overdue and ask the subscriber to update their card or pay the pending charge; {{rv_next_charge_date}} is when Hotmart tries again.

  6. Win-back on cancellation

    Trigger on Subscription canceled and use {{rv_next_charge_date}} — it is the date access actually ends if they don't reactivate, so the message can honestly say how long they still have.

  7. Order confirmation for physical products

    Trigger on Physical order ready to ship and confirm the order: {{rv_items_summary}} lists the items one per line, {{rv_shipping_address}} is the address on one line and {{rv_carrier}} the carrier. {{rv_processing_days}} (handling) plus {{rv_delivery_days}} (delivery, in business days) is the wait to quote. IcloneU gets no later shipped or delivered event from Hotmart, so this is a confirmation, not a tracking update.

  8. Course companion

    Trigger on Student's first access to welcome a new student, and on Module completed to congratulate them and point to the next step. Add a Condition on {{rv_module_name}} to act on one module — the last one is a good moment to ask for a testimonial.

Two things a workflow needs before any of this runs

It has to be Live, and it has to have a connected account selected in the workflow editor. A Live workflow with no account assigned is skipped without an error — it looks healthy and never fires.

Step 4 — Give the connection to a clone

Saving the connection doesn't wire it to anything. Workflows can use it straight away; a clone has to be given it.

  1. Switch it on for the clone

    Open Clones, pick the clone that sells your Hotmart products, open its Skills tab and turn the Hotmart connection on under Integration connections. A clone can use one connection per service at a time — for two Hotmart accounts, use two clones.

  2. Adjust the guidance (optional)

    Configure opens the per-clone settings. Usage instructions is free text the AI reads at conversation time; leave it blank and the connector's built-in guidance is used instead — the Using connector default badge tells you that's what's happening.

  3. Limit it to certain products (optional)

    Under Pre-bound resources, Products is a checkbox list of your Hotmart products. Tick the ones this clone is about and everything it does with Hotmart is limited to them: the products it lists when someone asks what you sell, purchase, subscription and sales lookups, product info, checkout links and coupons. Ask about anything outside the set and it answers that the product isn't available to this clone, and names the ones that are. Leave all unchecked for a clone that covers your whole catalogue.

  4. Cap the discounts (optional)

    Maximum discount the AI may give (%) is the ceiling for any coupon the clone creates. Every coupon is clamped to it inside the connection, so a customer can't negotiate a bigger one no matter how the conversation goes. Leave it empty or at 0 and the clone is told it cannot offer discounts at all.

  5. Trim the abilities (optional)

    Available actions lists Check Purchase, Get Subscriptions, List Recent Sales, List Products, Get Product Info, Get Checkout Link and Create Coupon. Untick any this clone shouldn't have — a pure support clone might drop Get Checkout Link and Create Coupon, a pure sales clone the three buyer lookups. The AI never sees an unticked action. Workflows are not affected by these ticks.

Create Coupon spends your money, so the ceiling is the control

Create Coupon is the one Hotmart action that writes. It makes a real, redeemable percentage coupon on one of your products and returns a checkout link with the coupon already applied, so anything it creates can be spent. The ceiling is the only hard control: the percentage is clamped to Maximum discount the AI may give (%) inside the connection before the coupon is created, so a customer cannot negotiate past it, and the clone is instructed to quote the percentage that came back rather than the one it asked for. Set that number to the most you are willing to give away, because a request that names no percentage gets the whole ceiling, and anything above 99 is treated as 99. Leave it empty or at 0 and no coupon is ever created — the clone is told discounts aren't enabled and says so plainly instead of inventing a code. The rest is guidance it can be talked around: it is told to use a coupon sparingly and at most once per customer, but only the ceiling is enforced.

Four of the seven are private-chat only

Check Purchase, Get Subscriptions and List Recent Sales carry a Private chats badge: they return a person's data, so they're never offered on public posts and comments — and so does Create Coupon, because a coupon handed out under a public post is a coupon for everyone. List Products, Get Product Info and Get Checkout Link are catalogue information and work everywhere — including replying to a comment with the price and the link.

Buyer data needs a verified person on the other end

Those same three refuse to run until the lookup can be tied to the person in the conversation. On WhatsApp the channel itself verifies the sender's number, and the answer is only given when it belongs to them — the email on their contact record, or a purchase whose buyer phone matches their WhatsApp number; a buyer who bought under a different phone verifies their email with a one-time code instead. On every other channel the one-time code comes first. Until then the clone declines to discuss purchases, and if it has no way to send a code on that channel it says so and offers to bring in your team. A customer being asked to verify is the protection working, not a fault.

What to expect — and what it won't do

Where the product list comes from

Everywhere you pick Hotmart products — the Products checklist under Pre-bound resources, the product filter on an action — the list is your Hotmart catalogue, read live, so a product you created yesterday is there before it has sold a single copy. Products that aren't active in Hotmart show their status next to the name; the clone lists them but can only sell active ones. If your credential was created before Hotmart's Products API existed and can't read the catalogue, IcloneU falls back to the products that appear in your recent sales and no checkout link can be built at all — not from a product lookup, and not the one Create Coupon would otherwise hand back. Create a fresh credential in Hotmart and reconnect.

  • Four triggers count as marketing, and they're rationed. Checkout abandoned, Subscription canceled, Payment expired and Purchase complete (refund window closed): a contact who opted out never gets them, a contact with an open handover to a human never gets them, and across all of your flows together a contact is touched at most once in 24 hours and three times in 7 days. The other twelve Hotmart triggers are transactional and are never held back.
  • The match is account-wide, not per connection. With more than one Hotmart connection the event name shows (all connections), and an event from any of them starts the workflow.
  • The buyer becomes a contact. The email and phone on the event are matched against your contacts, and a contact is created when there's no match — so the workflow can tag them, message them or enrol them in a sequence. Subscription plan changed, Subscription billing day changed and the two Hotmart Club triggers bring no phone number, so they match by email alone, and a WhatsApp message reaches that person only when their contact already has a phone on file.
  • Pending is not paid. Hotmart returns a purchase status, and your clone is instructed to read it before promising anything: only APPROVED or COMPLETE means paid, WAITING_PAYMENT, PRINTED_BILLET and PROCESSING_TRANSACTION mean payment is still on its way (boleto and Pix can take a while), and REFUNDED, CHARGEBACK, CANCELLED or EXPIRED means the purchase is no longer valid.

When something doesn't work

The dropdown only lists platforms with at least one connection whose icon shows no red error badge. Check the connection under Automations → Connectors and run Test Connection if its icon carries a red error badge (hovering it shows the status: Error, Expired or Revoked). The hottok isn't needed for the events to be listed — only for them to fire.

Work through it in this order. Is the workflow Live, and does it have a connected account selected in the editor? Does the Hotmart connection's icon show no red error badge, and is the hottok saved on it — the one from the Authentication tab, not a Client Secret? In Hotmart, is the webhook configuration switched on, on version 2.0.0, pointing at https://icloneu.ai/api/HotmartWebhook, with the right events ticked? Send a test event from the configuration's row and check the History tab shows it delivered. And for the four marketing triggers — Checkout abandoned, Subscription canceled, Payment expired and Purchase complete (refund window closed) — check the contact hasn't opted out, isn't in an open handover, and hasn't already had a marketing message inside the frequency limits.

Your webhook configuration in Hotmart most likely doesn't tick that event: a configuration only sends the events ticked on it, and one set up for the original three triggers sends only those. Update it in Hotmart to tick the events you want, then check the History tab — it shows exactly which events Hotmart has sent. Also check the flow's trigger is the one you meant: Payment declined fires for a failed attempt (PURCHASE_CANCELED), not for a refund.

That's the identity gate. Purchase, subscription and sales lookups only answer when they can be tied to the person: on WhatsApp, when the purchase carries their number or their contact record carries the email; elsewhere, after a one-time code. A real buyer who bought with a different phone or email just verifies that email with a code and everything works. If the clone has no way to send a code on that channel it will say so rather than promise one, and offer to hand the conversation to your team.

The list is your live Hotmart catalogue, so first check the product exists and is published in Hotmart. If no product newer than your last sale ever shows up, your credential can't read the catalogue — create a new credential under Tools → Hotmart Credentials and reconnect; IcloneU had fallen back to the products in your recent sales.

Yes. When someone wants to buy, asks the price or asks where to pay, the clone calls Get Checkout Link, quotes the price Hotmart returns and sends that offer's pay.hotmart.com link. A product with several offers or subscription plans makes it lay out the options and ask before sending one. It never invents a price, a link or a coupon. To let it discount, set Maximum discount the AI may give (%) in the clone's Hotmart configuration: it can then create a real coupon on the product with Create Coupon, under a short code it invents on the spot, so it isn't a code that gets passed around — capped at that percentage no matter what the customer negotiates — and sends the checkout link with the coupon already applied. Left empty or at 0 it is told it cannot offer any discount.

No, and it can't cancel or reactivate a subscription or resend login credentials either. Hotmart releases access automatically once payment is confirmed and emails the login details itself; for refunds and cancellations, point the buyer at the purchase-management links in their Hotmart confirmation email. The only change the clone can make inside your Hotmart account is creating a coupon with Create Coupon, capped by the maximum discount you set on the clone — and switched off entirely while that is empty or 0.

Was this guide helpful?
Thanks for the feedback!

Last updated September 24, 2026 · Platform Integrations

Reconnecting to the server… Reload
🗙
Connecting…
Connection lost
Reconnecting to the server…
We couldn't reconnect automatically.