Make 教學:讓 AI 電郵回覆不帶簽名,並透過 HTTP 模組從 Signatoro 擷取簽名
Make: Your AI Replies Go Out Without a Signature. Fetch the Real One From Signatoro With an HTTP Module
Make 流程讓 ChatGPT 撰寫電郵回覆,再由 Signatoro 提供真實簽名,交由 Gmail 將回覆和簽名一併寄出。流程依次使用 Google Forms、OpenAI、HTTP 和 Gmail 模組;示範採用 gpt-5.4-mini。
Disclosure: Signatoro's founder, Katya Rozenoer, tested this scenario end to end and shared the blueprint I use in the lesson. I'm not paid by Signatoro and there's no affiliate link. Signatoro is an email signature platform, not an e-signature (document signing) tool, so if you came here for contract signing, this isn't that.
Here's a problem I didn't expect when I first added AI to a Make.com scenario. The reply ChatGPT wrote was good. Warm, personal, answered the customer's question. And it went out signed "The Brookside Dental team," which reads exactly like the form letter it was trying not to be.
The obvious fix is to tell the model to sign it with Dana's name, title and phone number. I don't like that fix. A model asked to write a phone number can get it wrong, and when Dana's title changes, someone has to remember to edit a prompt buried in a scenario.
Why the signature goes missing
Make's Gmail module sends through the Gmail API. The signature saved in Gmail's settings is only added to messages written in the Gmail web interface. So any email Make sends has no signature unless the scenario puts one there.
Who this is for
Front desks, office managers and small teams who already have a Make scenario that replies to form requests and want every reply to carry the right person's real, current signature. In my lesson the example is Brookside Dental, a made-up family practice, and Dana Whitfield, a made-up patient coordinator.
The scenario
Four modules, in this order:
- Google Forms, Watch Responses: a new patient request.
- OpenAI, Generate a response: ChatGPT writes the reply body, with a closing line and no name.
- HTTP, Make a request: GET the sender's signature from Signatoro.
- Gmail, Send an email: the reply, a line break, then the signature HTML.
The model writes the message. Signatoro supplies the signature. Neither does the other's job.
Step 1: save the signature and get a key
On Signatoro, open your signature page, fill in Your details (Name, Title, Company, Phone, Email, Website) and click Save signature. Then, under For tools and assistants, click Generate API key and copy it.
You can check it from a terminal before you open Make:
curl -s https://signatoro.com/api/v1/signature \
-H "Authorization: Bearer $SIGNATORO_API_KEY"
If you haven't saved a signature yet, you'll get a 404 with no_signature. If the header is wrong, a 401 with missing_api_key.
Step 2: the prompt that never signs
In Generate a response, pick a small model (the lesson uses gpt-5.4-mini), keep Prompt Type as Text prompt, and put the rules first and the mapped form answers last. This is the prompt from Signatoro's tested blueprint:
You are the front desk at Brookside Dental, a friendly family dental practice.
Write a short email reply to a new patient who just asked for a first visit.
Greet them by first name and thank them. Respond to their reason for visit in
one or two warm sentences. Say we will call within one business day to book a
time. No medical advice, no prices, no promises about treatment. End with a
short closing line such as "Kind regards," and no name or signature: the
signature is added after the email. Write only the email body, as simple HTML
with each paragraph in <p> tags.
The patient's name and reason for visit: {{...mapped answers...}}
Two lines do the heavy lifting. "No name or signature" keeps the model out of the signature business. "Simple HTML with each paragraph in <p> tags" stops the email arriving as one long block, because Gmail's body is HTML and plain line breaks are ignored.
Set Max Output Tokens. The lesson uses 2000. It includes the model's hidden reasoning tokens as well as the visible text, so setting it too low can cut a reply short or leave it empty.
Step 3: the HTTP module
Click the plus on the OpenAI module, choose HTTP, then Make a request.
-
Authentication type: API key. Create a connection named
Signatoro API key. -
API Key: the word
Bearer, one space, then your key. - API key placement: In the header.
-
API key parameter name:
Authorization. -
Allowed service origins:
https://signatoro.com. -
URL:
https://signatoro.com/api/v1/signature, Method GET, Parse response Yes.
Allowed service origins is the setting I'd point out to anyone reviewing this. It makes sure Make only ever sends that key to signatoro.com. Keep the key in the connection, never in the prompt or a note.
In the blueprint, this module's mapper looks like this:
{
"url": "https://signatoro.com/api/v1/signature",
"method": "get",
"parseResponse": true,
"stopOnHttpError": true,
"timeout": "40",
"allowRedirects": true,
"shareCookies": false,
"requestCompressedContent": true
}
stopOnHttpError: true is the right default here. If the signature call fails, you'd rather the scenario stop than send an unsigned email.
Step 4: Gmail, with both parts in the body
Click the plus on the HTTP module, choose Gmail, Send an email. Map the patient's Email answer into Recipient email address 1, type a subject, and set Body type to Raw HTML.
In Body contents, map the OpenAI module's Result, type <br>, then map html from the HTTP module's Data. In the tested blueprint (module 3 is OpenAI, module 4 is HTTP), the Gmail mapper is:
{
"to": ["{{1.answers.`674e659a`.textAnswers.answers[].value}}"],
"subject": "Your visit request at Brookside Dental",
"bodyType": "rawHtml",
"content": "{{3.result}}<br>{{4.data.html}}"
}
The backtick IDs like `674e659a` are Google Forms question IDs. Yours will be different, so you re-map the form answers after importing.
Step 5: test it
Save the scenario and click Run once with a new routine request waiting. Then check three bubbles:
- The OpenAI module's output bundle: Result holds the text the model wrote.
- The HTTP module: Status Code 200 and the signature.
- Gmail: the sent email, with paragraphs and the real signature.
The three errors students hit most, from Signatoro's README:
| Error | Fix |
|---|---|
HTTP 401 missing_api_key
|
The API Key field must start with Bearer, one space, then the key. |
| Gmail 403 Request had insufficient authentication scopes | Reconnect Gmail and tick every permission on Google's screen, including sending email. |
HTTP 404 no_signature
|
Save a signature on Signatoro first. |
Importing the blueprint instead
The lesson page has the tested blueprint as a download. In Make, open a new scenario, click ... > Import blueprint and pick the file. Choose your own Google, OpenAI and Gmail connections and your form, and map the form answers again. The file holds no API key; you add yours when you create the HTTP connection. To test without an OpenAI key, the blueprint uses OpenAI Simple text prompt (Make's credits). For your own key, swap in Generate a response with the same prompt, and its Result maps the same way.
What it costs
The OpenAI module uses your own API key, billed by OpenAI separately from any ChatGPT subscription. Signatoro's free plan includes the API, capped at 50 API requests a month on October 19, 2026. Free signatures carry a small "Get my signature" link; the Company plan removes it and lifts the limit.
If you'd rather a person read every reply first, send the Result to Gmail Create a draft email instead of Send an email. I'd start there for the first week.
Using Zapier instead? There's a Zapier version of this lesson that uses Signatoro's own Get Signature step.
Try it free
The lesson, Add AI to Make.com: ChatGPT Writes a Personal Reply, Gmail Sends It, builds the whole scenario on a practice copy of Make with fake keys, so nothing touches your accounts.
Practice it step by step, free: https://learn.ynteractive.com/content/make-com-chatgpt-gmail-personalized-reply
來源:DEV Community · dev.to