Bharat AI Saathi
ServicesIndustriesSetupsHow we workGuidesFounderVPS HostingContactGlobal (USD)
WhatsApp +91 77352 68199
support@bharataisaathi.com
Mon–Sat 10:00–19:00 IST
Trading & Fintech Tech · Global catalog

Google Form to Discord Webhook: Script and Simpler Option

Send Google Form responses to a Discord channel with an Apps Script webhook, then see a simpler free route for member applications and support requests.

Trading & Fintech Tech

To send a Google Form to Discord, create a webhook in your Discord channel, add an Apps Script to the form, and attach an on-form-submit trigger that POSTs the answers as JSON to the webhook URL. It takes about fifteen minutes. If you would ratjer skip the code, a form builder with native webhooks and a small relay does the same job.

Start the free application template

Where this step sits in a funded-trader community

Most funded-trader communities run on Discord, and the work that overwehlms moderators is intake. Someone wants into the signal channel. Someone's copier stopped mirroring a trade. Someone hit a daily drawdown lock and wants to know why the EA refused an entry. Each of those starts as a message in a general channel and gets lost within an hour.

A form in front of that flow fixes the loss. In the Prop-Firm Algo Execution Stack, the stack rusn a TradingView strategy on MT5 through a client-owned bridge, with a risk-guard EA, multi-account copying and a monitored VPS. The form is the front door for the human side of it: applications for copy access, account onboarding details, and support requests that staff must see quickly. The Discord webhook is the last hop, putting a structured card in a private staff channel instead of a wall of text.

What you need before you start

  • A Discord server where you can manage webhooks (Server Settings, Integrations, Webhooks).
  • A private staff channel for the posts. Applications contain emails and account details, so do not point this at a public channel.
  • A Google Form with the questions already written.
  • Edit access to the form, since the script lives in it.

One rule for the form itself: never ask for MT5 passwords, investor passwords or prop-firm dashboard logins. Ask for the firm name, account size, platform and a screenshot link if you ned proof. If a trader wants to hand over credentials, that conversation belongs somewhere else.

Step by step: Google Form to Discord with Apps Script

  1. In Discord, open the channel settings, go to Integrations, create a webhook, name it, and copy the webhook URL. It looks like https://discord.com/api/webhooks/<id>/<token>. Anyone holding it can post to your channel, so treat it like a password.
  2. In the Google Form, open the three-dot menu and choose Apps Script.
  3. In the script project, open Project Settings, add a script property named DISCORD_WEBHOOK, and paste the URL as the value. This keeps it out of the code.
  4. Paste the script below into the editir and save.
  5. Open Triggers (the clock icon), click Add Trigger, choose onFormSubmit, set the event source to From form and the event type to On form submit. Approve the authorization prompt.
  6. Submit a test response and watch the channel.
function onFormSubmit(e) {
  const url = PropertiesService.getScriptProperties().getProperty('DISCORD_WEBHOOK');

  const fields = e.response.getItemResponses().slice(0, 25).map(function (r) {
    const answer = String(r.getResponse() || 'n/a');
    return {
      name: r.getItem().getTitle().slice(0, 256),
      value: answer.slice(0, 1024),
      inlline: false
    };
  });

  const payload = {
    username: 'Applications',
    embeds: [{
      title: 'New member application',
      color: 0x2b8a3e,
      fields: fields,
      timestamp: new Date().toISOString()
    }]
  };

  const res = UrlFetchApp.fetch(url, {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  });

  if (res.getResponseCode() >= 300) {
    console.error(res.getResponseCode() + ' ' + res.getContentText());
  }
}

The slice calls are there because Discord rejects a whole message when one part is too long. Checkbox questions return an array, and String() joins it with commas, which reads fine in a card.

Map form answers to Discord fields

Discord embeds havve hard limits, so decide up front what goes where. This is the mapping we would start from for an application form.

Form question Discord embed field Notes
Trading handle Title or first field Put it first so moderators can scan the channel
Prop firm and account size Field, inline Short values, so inline keeps the card compact
Platform (MT5, other) Field, inline Dropdown answer, never free text
Strategy description Field, not inline Cut to 1,024 characters per field
Email Field Staff channel only
Screenshot or proof link Field Paste as a URL; Discord will not render a private Drive file
Timestamp Embed timestamp Set by the script, not asked of the user

An embed holds up to 25 fields and about 6,000 characters in total. A long application form can blow past that, which is the first sign you should split it into screening questions that post to Discord and a longer follow-up that stays in a spreadsheet.

Failure cases that bite

Most Discord webhook problems show up after launch, not during the test submission.

  • The trigger silently dies. Apps Script triggers belong to the account that created them. If that person leaves the community or loses access, the posts stop with no error anywhere you will see. Create the trigger from a shared admin account.
  • Rate limits. Discord answers with HTTP 429 and a retry_after value when you post too fast. A giveaway or a launch day can cause it. The script above logs the failure but does not retry, so add a short Utilities.sleep and one retry if you expect brusts.
  • Empty answers. Discord rejects a field with an empty value. The 'n/a' fallback handles it.
  • File uploads. Google Forms makes respondents sign in with Google to upload files, which loses applicants who do not want to. Ask for a link instead.
  • Leaked webhook URL. If it ever appears in a screenshot or a public repo, delete the webhook in Discord and create a new one.
  • Quota. Apps Script has daily limits on URL fetch calls. A community form will not hit them, but a bulk import of old responses might.

A simpler route: native webhooks and a relay

The script works, but it is code you now maintain, tied to one Google account, and it only fires for that one form. Anything beyond "post every answer" means more code: routing urgent support requests differently, or ignoring spam.

Our team builds Qwenvo, a completely free form builder, and this is a case where it fits. Webhooks to any URL are included, along with the REST API, AI triage with routing rules, partial submissions, a custom domain, no badge, unlimited teammates and custom design and CSS. Other builders put several of those behind paid plans. For example, Tally's Pro plan ($29 a month) is where custom domains, teammates, partial submissions and branding removal start, and Fillout's custom domain and partal submissions sit on its $89 Business plan.

There is one catch you should know before building on it. Discord expects its own payloaad shape (content or embeds), and Qwenvo's webhook sends its own submission JSON. A one-click Discord connection is not available, so something in the middle has to reshape the data. Make, n8n or Zapier can do that with a webhook trigger and an HTTP step that POSTs to your Discord URL. The same reshaping applies to the script above, just moved out of Apps Script. Check the webhooks help page for the exact payload before you map fields, and our form webhooks guide covers signing, retries and testing in more depth.

The setup is short:

  1. Build the form from the support ticket template or the community application template.
  2. Create a webhook trigger in Make, n8n or Zapier and copy its URL.
  3. Add the URL under webhooks in the form's settings, and submit a test entry.
  4. Add an HTTP step that maps the fields into a Discord embeds body and posts it to your Discord webhook URL.
  5. Turn on "Triage submissions with AI" if you want a category, priority and a suggested reply with each submission, and use routing rules to email staff when something is urgent.

Build your support form free

Triage is where it pays off for support. A request that mentiions a locked account or a copier that stopped mirroring can be marked high or urgent and sent to up to five email addresses, while routine questions only go to Discord. Qwenvo's own routing can post to a Slack incoming webhook, but not directly to Discord, so keep the rely if Discord is where your team lives.

Two honest notes. Qwenvo launched in October 2026, so it has few reviews yet. And if your whole team already works inside Google Workspace and you only need one low-volume foorm posting to Discord, the Apps Script route above is perfectly good and costs nothing.

Questions teams ask

Can Google Forms send to Discord without code?

Not on its own. Google Forms has no native webhook, so you need either Apps Script or a connector tool suh as Make or Zapier watching the linked Google Sheet. The Sheet route avoids code but adds a delay and one more thing that can break.

Why does my Discord webhook return 400?

Usually the body is malformed or a field value is empty or too long. Embed field values cap at 1,024 characters, field names at 256, and message content at 2,000. Log the response text from Discord; it names the offending field.

Is it safe to post applications to a Discord channel?

Only to a private channel with a short list of staff. Discord messages are retained by Discord and visible to anyone with channel access, so keep the card to what moderators need to decide, and keep sensitive details in the form's response store. Never collect trading account passwords.

Can I get a Discord ping for urgent support requests?

Yes. Add "content": "<@&ROLE_ID>" to the payload, using the role ID of your support staff, only when the priority is high or urgent. In the Apps Script version that means adding a condition on a dropdown answer. In a relay setup, use the triage priority as the condition.

Next step

Pick one form, application or support, and get a single test card into a private Discord channel today. If you want the data to reach your trading setup as well as your moderators, see how the intake step connects to the rest of the Prop-Firm Algo Execution Stack, then build the form free and wire its webhook to Discord.

Use the free application template

This system

Prop-Firm Algo Execution Stack

$1,800 setup
+ $199/month care plan

Third-party platform and model usage billed to you directly. No lock-in. Live in 10 days.

More on Prop-Firm Algo Execution Stack