[{"data":1,"prerenderedAt":607},["ShallowReactive",2],{"content-query-URnH5jv7q0":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"layout":10,"author":11,"tags":12,"categories":16,"date":18,"image":19,"faq":20,"body":33,"_type":601,"_id":602,"_source":253,"_file":603,"_stem":604,"_extension":605,"sitemap":606},"/blog/how-to-get-discord-webhook-url","blog",false,"","How to Get a Discord Webhook URL","A quick step-by-step guide to creating a Discord webhook URL — open Server Settings, go to Integrations, create a webhook, choose a channel, and copy the URL. Includes the URL format, a curl example, embeds, and security tips.","post","Karolis Rusenas",[13,14,15],"discord","webhooks","guide",[17],"guides","2026-07-21 09:30:00","/images/generic/webhooks.png",[21,24,27,30],{"q":22,"a":23},"How do I get a Discord webhook URL?","Open your Discord server, go to Server Settings → Integrations → Webhooks, click New Webhook, choose the channel it should post to, optionally set a name and avatar, then click 'Copy Webhook URL'. You need the Manage Webhooks permission on the server.",{"q":25,"a":26},"What does a Discord webhook URL look like?","A Discord webhook URL looks like https://discord.com/api/webhooks/{webhook_id}/{token} — a numeric webhook ID and a secret token. Anyone with the full URL can post to the channel, so keep it private.",{"q":28,"a":29},"How do I send a message to a Discord webhook?","POST JSON with a 'content' field to the webhook URL, e.g. curl -H 'Content-Type: application/json' -d '{\"content\":\"Hello\"}' \u003Cwebhook-url>. For rich messages, send an 'embeds' array instead of or alongside 'content'.",{"q":31,"a":32},"Do I need a bot to use a Discord webhook?","No. Webhooks are separate from bots — they only post messages to one channel and require no bot token or gateway connection. If you need to read messages or respond interactively, that's when you'd use a bot instead.",{"type":34,"children":35,"toc":593},"root",[36,61,68,88,107,113,125,226,237,243,256,318,330,419,439,453,482,507,513,565,587],{"type":37,"tag":38,"props":39,"children":40},"element","p",{},[41,44,50,52,59],{"type":42,"value":43},"text","A ",{"type":37,"tag":45,"props":46,"children":47},"strong",{},[48],{"type":42,"value":49},"Discord webhook URL",{"type":42,"value":51}," is the fastest way to post messages into a Discord channel from any app or script — no bot, no gateway connection, just an HTTP request. Here's how to create one and use it. (New to webhooks? See ",{"type":37,"tag":53,"props":54,"children":56},"a",{"href":55},"/blog/what-is-webhook",[57],{"type":42,"value":58},"what is a webhook",{"type":42,"value":60},".)",{"type":37,"tag":62,"props":63,"children":65},"h2",{"id":64},"what-a-discord-webhook-url-looks-like",[66],{"type":42,"value":67},"What a Discord webhook URL looks like",{"type":37,"tag":69,"props":70,"children":73},"pre",{"className":71,"code":72,"language":42,"meta":7,"style":7},"language-text shiki shiki-themes github-dark","https://discord.com/api/webhooks/123456789012345678/aBcDeF_secret-token\n",[74],{"type":37,"tag":75,"props":76,"children":77},"code",{"__ignoreMap":7},[78],{"type":37,"tag":79,"props":80,"children":83},"span",{"class":81,"line":82},"line",1,[84],{"type":37,"tag":79,"props":85,"children":86},{},[87],{"type":42,"value":72},{"type":37,"tag":38,"props":89,"children":90},{},[91,93,98,100,105],{"type":42,"value":92},"It's a numeric ",{"type":37,"tag":45,"props":94,"children":95},{},[96],{"type":42,"value":97},"webhook ID",{"type":42,"value":99}," plus a secret ",{"type":37,"tag":45,"props":101,"children":102},{},[103],{"type":42,"value":104},"token",{"type":42,"value":106},". Anyone with the full URL can post to the channel, so keep it private.",{"type":37,"tag":62,"props":108,"children":110},{"id":109},"create-a-discord-webhook",[111],{"type":42,"value":112},"Create a Discord webhook",{"type":37,"tag":38,"props":114,"children":115},{},[116,118,123],{"type":42,"value":117},"You'll need the ",{"type":37,"tag":45,"props":119,"children":120},{},[121],{"type":42,"value":122},"Manage Webhooks",{"type":42,"value":124}," permission on the server (server owners and admins have it):",{"type":37,"tag":126,"props":127,"children":128},"ol",{},[129,147,185,209],{"type":37,"tag":130,"props":131,"children":132},"li",{},[133,138,140,145],{"type":37,"tag":45,"props":134,"children":135},{},[136],{"type":42,"value":137},"Open Server Settings.",{"type":42,"value":139}," Click your server name (top-left) → ",{"type":37,"tag":45,"props":141,"children":142},{},[143],{"type":42,"value":144},"Server Settings",{"type":42,"value":146},".",{"type":37,"tag":130,"props":148,"children":149},{},[150,155,157,162,164,169,171,176,178,183],{"type":37,"tag":45,"props":151,"children":152},{},[153],{"type":42,"value":154},"Go to Integrations.",{"type":42,"value":156}," In the sidebar, choose ",{"type":37,"tag":45,"props":158,"children":159},{},[160],{"type":42,"value":161},"Integrations",{"type":42,"value":163},", then ",{"type":37,"tag":45,"props":165,"children":166},{},[167],{"type":42,"value":168},"Webhooks",{"type":42,"value":170}," → ",{"type":37,"tag":45,"props":172,"children":173},{},[174],{"type":42,"value":175},"New Webhook",{"type":42,"value":177}," (or ",{"type":37,"tag":45,"props":179,"children":180},{},[181],{"type":42,"value":182},"Create Webhook",{"type":42,"value":184},").",{"type":37,"tag":130,"props":186,"children":187},{},[188,193,195,200,202,207],{"type":37,"tag":45,"props":189,"children":190},{},[191],{"type":42,"value":192},"Configure it.",{"type":42,"value":194}," Give the webhook a ",{"type":37,"tag":45,"props":196,"children":197},{},[198],{"type":42,"value":199},"name",{"type":42,"value":201},", optionally an avatar, and pick the ",{"type":37,"tag":45,"props":203,"children":204},{},[205],{"type":42,"value":206},"channel",{"type":42,"value":208}," it should post to from the dropdown.",{"type":37,"tag":130,"props":210,"children":211},{},[212,217,219,224],{"type":37,"tag":45,"props":213,"children":214},{},[215],{"type":42,"value":216},"Copy the URL.",{"type":42,"value":218}," Click ",{"type":37,"tag":45,"props":220,"children":221},{},[222],{"type":42,"value":223},"Copy Webhook URL",{"type":42,"value":225},". That's the URL you'll POST to.",{"type":37,"tag":38,"props":227,"children":228},{},[229,231,236],{"type":42,"value":230},"You can also create a webhook straight from a channel: ",{"type":37,"tag":45,"props":232,"children":233},{},[234],{"type":42,"value":235},"Edit Channel → Integrations → Webhooks",{"type":42,"value":146},{"type":37,"tag":62,"props":238,"children":240},{"id":239},"send-a-test-message",[241],{"type":42,"value":242},"Send a test message",{"type":37,"tag":38,"props":244,"children":245},{},[246,248,254],{"type":42,"value":247},"POST JSON with a ",{"type":37,"tag":75,"props":249,"children":251},{"className":250},[],[252],{"type":42,"value":253},"content",{"type":42,"value":255}," field:",{"type":37,"tag":69,"props":257,"children":261},{"className":258,"code":259,"language":260,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","curl -H \"Content-Type: application/json\" \\\n  -d '{\"content\":\"Hello from a Discord webhook 👋\"}' \\\n  \"https://discord.com/api/webhooks/123456789012345678/aBcDeF_secret-token\"\n","bash",[262],{"type":37,"tag":75,"props":263,"children":264},{"__ignoreMap":7},[265,291,309],{"type":37,"tag":79,"props":266,"children":267},{"class":81,"line":82},[268,274,280,286],{"type":37,"tag":79,"props":269,"children":271},{"style":270},"--shiki-default:#B392F0",[272],{"type":42,"value":273},"curl",{"type":37,"tag":79,"props":275,"children":277},{"style":276},"--shiki-default:#79B8FF",[278],{"type":42,"value":279}," -H",{"type":37,"tag":79,"props":281,"children":283},{"style":282},"--shiki-default:#9ECBFF",[284],{"type":42,"value":285}," \"Content-Type: application/json\"",{"type":37,"tag":79,"props":287,"children":288},{"style":276},[289],{"type":42,"value":290}," \\\n",{"type":37,"tag":79,"props":292,"children":294},{"class":81,"line":293},2,[295,300,305],{"type":37,"tag":79,"props":296,"children":297},{"style":276},[298],{"type":42,"value":299},"  -d",{"type":37,"tag":79,"props":301,"children":302},{"style":282},[303],{"type":42,"value":304}," '{\"content\":\"Hello from a Discord webhook 👋\"}'",{"type":37,"tag":79,"props":306,"children":307},{"style":276},[308],{"type":42,"value":290},{"type":37,"tag":79,"props":310,"children":312},{"class":81,"line":311},3,[313],{"type":37,"tag":79,"props":314,"children":315},{"style":282},[316],{"type":42,"value":317},"  \"https://discord.com/api/webhooks/123456789012345678/aBcDeF_secret-token\"\n",{"type":37,"tag":38,"props":319,"children":320},{},[321,323,328],{"type":42,"value":322},"For a richer message, send an ",{"type":37,"tag":45,"props":324,"children":325},{},[326],{"type":42,"value":327},"embed",{"type":42,"value":329}," — a titled, colored card:",{"type":37,"tag":69,"props":331,"children":333},{"className":258,"code":332,"language":260,"meta":7,"style":7},"curl -H \"Content-Type: application/json\" -d '{\n  \"embeds\": [{\n    \"title\": \"Deploy finished\",\n    \"description\": \"Build #142 shipped to production\",\n    \"color\": 3066993\n  }]\n}' \"https://discord.com/api/webhooks/123456789012345678/aBcDeF_secret-token\"\n",[334],{"type":37,"tag":75,"props":335,"children":336},{"__ignoreMap":7},[337,362,370,378,387,396,405],{"type":37,"tag":79,"props":338,"children":339},{"class":81,"line":82},[340,344,348,352,357],{"type":37,"tag":79,"props":341,"children":342},{"style":270},[343],{"type":42,"value":273},{"type":37,"tag":79,"props":345,"children":346},{"style":276},[347],{"type":42,"value":279},{"type":37,"tag":79,"props":349,"children":350},{"style":282},[351],{"type":42,"value":285},{"type":37,"tag":79,"props":353,"children":354},{"style":276},[355],{"type":42,"value":356}," -d",{"type":37,"tag":79,"props":358,"children":359},{"style":282},[360],{"type":42,"value":361}," '{\n",{"type":37,"tag":79,"props":363,"children":364},{"class":81,"line":293},[365],{"type":37,"tag":79,"props":366,"children":367},{"style":282},[368],{"type":42,"value":369},"  \"embeds\": [{\n",{"type":37,"tag":79,"props":371,"children":372},{"class":81,"line":311},[373],{"type":37,"tag":79,"props":374,"children":375},{"style":282},[376],{"type":42,"value":377},"    \"title\": \"Deploy finished\",\n",{"type":37,"tag":79,"props":379,"children":381},{"class":81,"line":380},4,[382],{"type":37,"tag":79,"props":383,"children":384},{"style":282},[385],{"type":42,"value":386},"    \"description\": \"Build #142 shipped to production\",\n",{"type":37,"tag":79,"props":388,"children":390},{"class":81,"line":389},5,[391],{"type":37,"tag":79,"props":392,"children":393},{"style":282},[394],{"type":42,"value":395},"    \"color\": 3066993\n",{"type":37,"tag":79,"props":397,"children":399},{"class":81,"line":398},6,[400],{"type":37,"tag":79,"props":401,"children":402},{"style":282},[403],{"type":42,"value":404},"  }]\n",{"type":37,"tag":79,"props":406,"children":408},{"class":81,"line":407},7,[409,414],{"type":37,"tag":79,"props":410,"children":411},{"style":282},[412],{"type":42,"value":413},"}'",{"type":37,"tag":79,"props":415,"children":416},{"style":282},[417],{"type":42,"value":418}," \"https://discord.com/api/webhooks/123456789012345678/aBcDeF_secret-token\"\n",{"type":37,"tag":38,"props":420,"children":421},{},[422,424,430,432,438],{"type":42,"value":423},"You can override the display name and avatar per message with ",{"type":37,"tag":75,"props":425,"children":427},{"className":426},[],[428],{"type":42,"value":429},"username",{"type":42,"value":431}," and ",{"type":37,"tag":75,"props":433,"children":435},{"className":434},[],[436],{"type":42,"value":437},"avatar_url",{"type":42,"value":146},{"type":37,"tag":62,"props":440,"children":442},{"id":441},"sending-any-event-to-discord",[443,445,451],{"type":42,"value":444},"Sending ",{"type":37,"tag":446,"props":447,"children":448},"em",{},[449],{"type":42,"value":450},"any",{"type":42,"value":452}," event to Discord",{"type":37,"tag":38,"props":454,"children":455},{},[456,458,464,466,472,474,480],{"type":42,"value":457},"The webhook URL is the easy half — you still need to POST to it in Discord's format. Webhook Relay bridges that gap: point a provider (a payment, a CI build, a ",{"type":37,"tag":53,"props":459,"children":461},{"href":460},"/blog/trading-view",[462],{"type":42,"value":463},"TradingView alert",{"type":42,"value":465},") at Webhook Relay, ",{"type":37,"tag":53,"props":467,"children":469},{"href":468},"/features/transform-webhooks",[470],{"type":42,"value":471},"transform the payload",{"type":42,"value":473}," into a Discord message or embed, and forward it — optionally ",{"type":37,"tag":53,"props":475,"children":477},{"href":476},"/features/webhook-multiple-destinations",[478],{"type":42,"value":479},"fanning out",{"type":42,"value":481}," to Slack or Teams at the same time.",{"type":37,"tag":483,"props":484,"children":485},"ul",{},[486,497],{"type":37,"tag":130,"props":487,"children":488},{},[489,495],{"type":37,"tag":53,"props":490,"children":492},{"href":491},"/blog/webhook-to-discord",[493],{"type":42,"value":494},"Send a webhook to Discord",{"type":42,"value":496}," — the full forward-and-transform walkthrough.",{"type":37,"tag":130,"props":498,"children":499},{},[500,505],{"type":37,"tag":53,"props":501,"children":502},{"href":460},[503],{"type":42,"value":504},"TradingView webhooks to Discord",{"type":42,"value":506}," — a real automation example.",{"type":37,"tag":62,"props":508,"children":510},{"id":509},"security-notes",[511],{"type":42,"value":512},"Security notes",{"type":37,"tag":483,"props":514,"children":515},{},[516,528,554],{"type":37,"tag":130,"props":517,"children":518},{},[519,521,526],{"type":42,"value":520},"The URL is a ",{"type":37,"tag":45,"props":522,"children":523},{},[524],{"type":42,"value":525},"secret",{"type":42,"value":527}," — Discord even warns that leaked webhook URLs are a common way servers get spammed.",{"type":37,"tag":130,"props":529,"children":530},{},[531,533,538,540,545,547,552],{"type":42,"value":532},"To ",{"type":37,"tag":45,"props":534,"children":535},{},[536],{"type":42,"value":537},"revoke",{"type":42,"value":539}," one, open the webhook in ",{"type":37,"tag":45,"props":541,"children":542},{},[543],{"type":42,"value":544},"Integrations → Webhooks",{"type":42,"value":546}," and click ",{"type":37,"tag":45,"props":548,"children":549},{},[550],{"type":42,"value":551},"Delete Webhook",{"type":42,"value":553},"; create a new one if needed.",{"type":37,"tag":130,"props":555,"children":556},{},[557,559,563],{"type":42,"value":558},"A webhook can only ",{"type":37,"tag":45,"props":560,"children":561},{},[562],{"type":42,"value":10},{"type":42,"value":564}," to its channel — it can't read messages or act as a member.",{"type":37,"tag":38,"props":566,"children":567},{},[568,570,576,578,586],{"type":42,"value":569},"Ready to route real events into Discord? ",{"type":37,"tag":53,"props":571,"children":573},{"href":572},"/webhook-bin",[574],{"type":42,"value":575},"Test a webhook now",{"type":42,"value":577}," or ",{"type":37,"tag":53,"props":579,"children":583},{"href":580,"rel":581},"https://my.webhookrelay.com/register",[582],"nofollow",[584],{"type":42,"value":585},"start forwarding for free",{"type":42,"value":146},{"type":37,"tag":588,"props":589,"children":590},"style",{},[591],{"type":42,"value":592},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":311,"depth":311,"links":594},[595,596,597,598,600],{"id":64,"depth":293,"text":67},{"id":109,"depth":293,"text":112},{"id":239,"depth":293,"text":242},{"id":441,"depth":293,"text":599},"Sending any event to Discord",{"id":509,"depth":293,"text":512},"markdown","content:blog:how-to-get-discord-webhook-url.md","blog/how-to-get-discord-webhook-url.md","blog/how-to-get-discord-webhook-url","md",{"loc":4},1784660737243]