Skip to main content

Write an email from facts

Turn a goal and a list of facts into three email options and check each one before it goes out

prose-1 writes emails that say only what your facts hold. This guide writes a cold email and checks the options. You need a key from an owner or admin with reddit:posts:write.

1. Collect the facts​

Everything the email may mention goes into facts, one item each: numbers, names, products, dates, details. Names, roles and companies go in to and from. If it is not in a fact or in those fields, the email should not say it.

  • 1 to 10 facts, up to 300 characters each.
  • No links, email addresses or domains, and no [slots].
  • goal says what the email should get, in 10 to 300 characters.

2. Submit​

curl -s https://app.makesmores.com/api/v1/drafts \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<JSON | tee email.json
{
"platform": "email",
"type": "outreach",
"idempotency_key": "guide-email-$(date +%s)",
"to": { "name": "Priya Shah", "role": "Head of Growth", "company": "Northwind Coffee" },
"from": { "name": "Sam Lee", "company": "Roastline" },
"goal": "Ask for a short call about wholesale beans for their cafes",
"facts": [
"Roastline roasts to order every Tuesday and Friday",
"Wholesale orders ship within two days of roasting",
"Northwind opened its third cafe this month"
],
"length_words": 90
}
JSON

Use type: "follow_up" for a follow-up (thread optional) or type: "reply" to answer an email (thread required, oldest first).

3. Read the options​

curl -s "https://app.makesmores.com/api/v1/drafts/$(jq -r .draft_id email.json)" \
-H "Authorization: Bearer $SMORE_API_KEY" \
| jq '{state, poll_after_s, options: [.options[] | {option, subject, body, facts}]}'

Poll every poll_after_s seconds until state is ready.

4. Check each option​

Each option's facts lists numbers it added, numbers it dropped and names it dropped. Drop any option where local_check is fail. Then read the rest against your facts, using the read's fact_check.how rubric, and drop any option that states something your facts do not hold.

5. Record the pick and send it yourself​

curl -s "https://app.makesmores.com/api/v1/drafts/$(jq -r .draft_id email.json)/choice" \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"option": "A"}'

Copy the subject and body into your email client. S'more sends nothing.

A typical email costs about 123 credits ($0.123 at list).