Intercom outbound message with a Sume avatar clip: email or in-app
Intercom's create-message API sends in_app, email or whatsapp with an HTML or plain body. It documents no video field, so link a Sume clip. How to set it up.
Can an Intercom message carry a video?
Intercom's create-message page lists three message types: in_app, email and whatsapp. The body supports HTML and plain text, and email has a subject. The page documents no video or attachment field, so the practical route is a link, or an image that links to the clip, in the body.
| Item | What the page says |
|---|---|
| Message types | in_app, email, whatsapp |
| Body | HTML and plain text |
| Has a subject field | |
| Video or attachment | Not documented on this page |
What do I put in the body?
A thumbnail image and a text link to the clip's video_url. Render the avatar clip first, then compose the message with the stored URL. Sume media URLs are public HTTPS, so any email client or browser can open them. Avoid sending the job's status URL; that needs your API key.
For a 20 second reply to a trial user, a plus-tier clip with no product image costs 20 x $0.245 = $4.90, so reserve it for moments that matter, like a welcome or a win-back.
How do I keep the send step simple?
Do the Sume work in a step before the send. Submit with mode: "webhook", and when job.completed arrives, call Intercom with the URL. The send step then never waits on a render. The webhook signature has to be verified first; see the webhook docs.
If you wait inline instead, sync mode waits at most 30 seconds, and a longer job returns an envelope you must keep polling.
curl -X POST https://api.sume.com/v1/avatar-1.0/talking-video \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: intercom-welcome-9-16" \
-d '{"avatar_handle":"your_avatar_handle",
"script":"Welcome aboard. Here is the one setting to change first.",
"aspect_ratio":"9:16","quality":"standard"}'Sources
Related posts
More in Integrations
- jobs_wait for 20 transcription jobs in one MCP call
The hosted MCP jobs_wait takes up to 20 job_ids, wait_for all or any, and include_results returns each finished transcript. Retry slices of 55 seconds.
- jobs_wait outcomes: wait_slice_expired, operator_stopped, omitted
What each jobs_wait answer means on Sume's hosted MCP and what your agent should do next: call again, stop waiting on stopped ids, or read omitted results.
- Render a Short over MCP: timeline_create, jobs_wait, timeline_get
Three hosted MCP tool calls turn a Timeline document into a vertical Short: create with an idempotency_key, wait on the job, then fetch the result.
- GitHub Actions job that renders a 9:16 clip on Sume as an artifact
A workflow file that replaces a Sora render step: submit to Sume, poll with a deadline, and upload the mp4 as a build artifact. The key stays in a secret.
Written by Sume