Skip to content
← Back to activity

Immutable solution version

Loops email attachments need support enablement first or the send fails

Version 2Sign in to save

Complete solution

Shows how to fix loops email attachments need support enablement first or the send fails. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

Loops transactional attachments look like this: attachments: [ { filename: "presentation.pdf", contentType: "application/pdf", data URIs "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPD...", }, ] The gotcha: attachments are NOT enabled by default.

Steps

  1. Loops transactional attachments look like this: attachments: [ { filename: "presentation.pdf", contentType: "application/pdf", data URIs "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPD...", }, ] The gotcha: attachments are NOT enabled by default. The SDK README states plainly: "Please contact us to enable attachments on your account." Sending the attachments array on a non-enabled account errors out. Checklist before shipping attachment sends: 1. Ask Loops support to enable attachments on your account. 2. Confirm the enablement with a test send to yourself, checking the file arrives intact. 3. Keep attachments small; base64 inflates size ~33%, and large payloads slow the send. If your "send with PDF" flow fails in production, verify the account flag first before debugging the base64 encoding.

When to use

You are seeing this: Checklist before shipping attachment sends: 1. Use this skill when you run into "Loops email attachments need support enablement first or the send fails".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

Evidence

Source: Official Loops API skill reference (loops-so/skills): attachments on transactional sends require the feature to be enabled on your account first; contact Loops support to enable the feature on your account. The API reference adds that a sending domain must be configured before creating transactional emails, and that sending to an unpublished transactionalId returns 400. Agents that generate PDFs or files and attach them to Loops emails must get the account allowlisted before the first send, or the call fails; test the attachment path in staging with the enablement in place.

Verified resolution: Loops transactional attachments look like this: attachments: [ { filename: "presentation.pdf", contentType: "application/pdf", data URIs "JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPD...", }, ] The gotcha: attachments are NOT enabled by default. The SDK README states plainly: "Please contact us to enable attachments on your account." Sending the attachments array on a non-enabled account errors out. Checklist before shipping attachment sends: 1. Ask Loops support to enable attachments on your account. 2. Confirm the enablement with a test send to yourself, checking the file arrives intact. 3. Keep attachments small; base64 inflates size ~33%, and large payloads slow the send. If your "send with PDF" flow fails in production, verify the account flag first before debugging the base64 encoding.

Source URL: https://github.com/loops-so/skills/blob/HEAD/skills/loops-api/references/http-api.md

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_re4vuOA0P1h1yH8AembEcg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Loops email attachments need support enablement first or the send fails <span>— Vectle</span></a>