Hey everyone! I’m trying to figure out how to send data from an Airtable form to Discord as an embedded message using Zapier. I’ve got the basic connection working, but the output is just plain text. What I really want is a nice, formatted embed with fields for each piece of info from the form.
I’ve set up the Airtable to Discord zap, and it’s sending the data through. But I’m stumped on how to make it look prettier in Discord. Does anyone know if there’s a way to customize the webhook in Zapier to create an embed instead of just text?
Maybe there’s a specific format or some extra steps I need to add to my zap? Any tips or tricks would be super helpful! I’m pretty new to all this stuff, so even basic advice is welcome. Thanks in advance for any help you can give!
I’ve actually tackled a similar project recently, and I can share some insights that might help you out. The key is to use Zapier’s Webhooks by Zapier action instead of the standard Discord integration. This gives you more control over the message format.
In the Webhooks action, you’ll want to set the URL to your Discord webhook URL. Then, in the ‘Payload Type’ field, choose ‘JSON’. This is where the magic happens. You’ll need to structure your JSON payload to match Discord’s embed format.
Here’s a basic structure you can start with:
{
"embeds": [{
"title": "New Form Submission",
"fields": [
{"name": "Field 1", "value": "{{airtable_field_1}}"},
{"name": "Field 2", "value": "{{airtable_field_2}}"}
]
}]
}
Replace the field names and Airtable placeholders with your actual data. You can add more fields, change colors, and even include images if you want to get fancy.
It took me some trial and error to get it right, but once you nail the JSON structure, you’ll have beautiful embedded messages in Discord straight from your Airtable form. Good luck!
I’ve found that using a Code by Zapier step can give you even more flexibility for creating custom Discord embeds. After your Airtable trigger, add a Code step and use JavaScript to construct your embed JSON. This method allows for complex logic and data manipulation if needed.
Here’s a basic example of what the Code step might look like:
output = {
embeds: [{
title: 'New Form Submission',
color: 3447003,
fields: Object.entries(inputData).map(([key, value]) => ({
name: key,
value: String(value),
inline: true
}))
}]
};
This dynamically creates fields for all your Airtable data. You can then use this output in a Webhook step to send to Discord. It’s a bit more advanced, but it offers maximum customization for your embeds.
hey there! i’ve done something similar before. u can use Zapier’s Formatter tool to create JSON for a Discord embed. set up a Formatter step after Airtable, choose ‘Utilities’ and then ‘JSON’. structure ur data there, then use that output in a Webhooks step. it’s a bit tricky at first but works great once u get it!