{"users":[{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta.discourse.org/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":100484,"username":"JammyDodger","name":"","avatar_template":"/user_avatar/meta.discourse.org/jammydodger/{size}/254611_2.png","trust_level":3},{"id":21029,"username":"pmusaraj","name":"Penar Musaraj","avatar_template":"/user_avatar/meta.discourse.org/pmusaraj/{size}/119489_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":127076,"username":"szopin","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/s/e9a140/{size}.png","trust_level":1},{"id":406,"username":"RGJ","name":"Richard - Communiteq","avatar_template":"/user_avatar/meta.discourse.org/rgj/{size}/523185_2.png","flair_name":"support-experts","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":162268,"username":"messiaslima","name":"Messias Junior","avatar_template":"/user_avatar/meta.discourse.org/messiaslima/{size}/466278_2.png","trust_level":2},{"id":186884,"username":"m_terenui","name":"Terenui","avatar_template":"/user_avatar/meta.discourse.org/m_terenui/{size}/537133_2.png","trust_level":2},{"id":127856,"username":"Lilly","name":"Lillian ","avatar_template":"/user_avatar/meta.discourse.org/lilly/{size}/575047_2.png","trust_level":3},{"id":97108,"username":"Sebastien78","name":"Sebastien","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/s/43a26b/{size}.png","trust_level":1},{"id":1113,"username":"Krischan","name":"Krischan","avatar_template":"/user_avatar/meta.discourse.org/krischan/{size}/47290_2.png","trust_level":2},{"id":14353,"username":"simon","name":"","avatar_template":"/user_avatar/meta.discourse.org/simon/{size}/339122_2.png","trust_level":2},{"id":136740,"username":"Nick-Permaculture","name":"Nick J","avatar_template":"/user_avatar/meta.discourse.org/nick-permaculture/{size}/317842_2.png","trust_level":2},{"id":13455,"username":"tgxworld","name":"Alan Tan","avatar_template":"/user_avatar/meta.discourse.org/tgxworld/{size}/106117_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":2},{"id":64663,"username":"patrickemin","name":"Patrick EMIN","avatar_template":"/user_avatar/meta.discourse.org/patrickemin/{size}/520162_2.png","trust_level":2},{"id":115373,"username":"seong","name":"Seong-Young Her","avatar_template":"/user_avatar/meta.discourse.org/seong/{size}/259022_2.png","trust_level":2},{"id":77477,"username":"b4oshany","name":"Oshane Bailey","avatar_template":"/user_avatar/meta.discourse.org/b4oshany/{size}/176298_2.png","trust_level":2},{"id":63921,"username":"eextra","name":"Sylwia","avatar_template":"/user_avatar/meta.discourse.org/eextra/{size}/170266_2.png","trust_level":2},{"id":68638,"username":"ClawdiaWolf","name":"Claudia","avatar_template":"/user_avatar/meta.discourse.org/clawdiawolf/{size}/262518_2.png","trust_level":2},{"id":16295,"username":"cogdog","name":"Alan Levine","avatar_template":"/user_avatar/meta.discourse.org/cogdog/{size}/116536_2.png","trust_level":2},{"id":133767,"username":"petermarkley","name":null,"avatar_template":"/user_avatar/meta.discourse.org/petermarkley/{size}/307825_2.png","trust_level":1},{"id":35474,"username":"Canapin","name":"Coin-coin le Canapin","avatar_template":"/user_avatar/meta.discourse.org/canapin/{size}/119591_2.png","trust_level":3},{"id":181081,"username":"stephtara","name":"Stephanie Booth","avatar_template":"/user_avatar/meta.discourse.org/stephtara/{size}/517827_2.png","trust_level":2},{"id":138567,"username":"pHneutre","name":"","avatar_template":"/user_avatar/meta.discourse.org/phneutre/{size}/326831_2.png","trust_level":2},{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta.discourse.org/falco/{size}/179432_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":4},{"id":12705,"username":"featheredtoast","name":"Jeff Wong","avatar_template":"/user_avatar/meta.discourse.org/featheredtoast/{size}/116994_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":2},{"id":111706,"username":"kiefferr","name":"Ryan Kieffer","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/a5b964/{size}.png","trust_level":2},{"id":23968,"username":"david","name":"David Taylor","avatar_template":"/user_avatar/meta.discourse.org/david/{size}/157490_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":43426,"username":"debryc","name":"Deborah Chang","avatar_template":"/user_avatar/meta.discourse.org/debryc/{size}/101652_2.png","trust_level":2},{"id":193655,"username":"Devansh_Bartwal","name":"Devansh Bartwal","avatar_template":"/user_avatar/meta.discourse.org/devansh_bartwal/{size}/489793_2.png","trust_level":0},{"id":172380,"username":"Michael_Liu","name":"Michael Liu","avatar_template":"/user_avatar/meta.discourse.org/michael_liu/{size}/494049_2.png","trust_level":2},{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/554653_2.png","trust_level":3},{"id":53853,"username":"markschmucker","name":"Mark S","avatar_template":"/user_avatar/meta.discourse.org/markschmucker/{size}/141599_2.png","trust_level":2},{"id":153707,"username":"Stefan_Holmes","name":"Stefan Holmes","avatar_template":"/user_avatar/meta.discourse.org/stefan_holmes/{size}/436043_2.png","trust_level":0},{"id":108257,"username":"MarkDoerr","name":"","avatar_template":"/user_avatar/meta.discourse.org/markdoerr/{size}/549630_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"team","admin":true,"trust_level":3},{"id":151433,"username":"luigi7up","name":"Luka","avatar_template":"/user_avatar/meta.discourse.org/luigi7up/{size}/477213_2.png","trust_level":1},{"id":80639,"username":"murphyke","name":"Kevin Murphy","avatar_template":"/user_avatar/meta.discourse.org/murphyke/{size}/184302_2.png","trust_level":1},{"id":15209,"username":"pfaffman","name":"Jay Pfaffman","avatar_template":"/user_avatar/meta.discourse.org/pfaffman/{size}/120154_2.png","flair_name":"support-experts","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":41681,"username":"silvacarl","name":"Carl L Silva","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/s/a3d4f5/{size}.png","trust_level":2},{"id":135271,"username":"Aaron_Walsh","name":"Aaron Walsh","avatar_template":"/user_avatar/meta.discourse.org/aaron_walsh/{size}/312661_2.png","trust_level":2},{"id":71041,"username":"satonotdead","name":"","avatar_template":"/user_avatar/meta.discourse.org/satonotdead/{size}/447830_2.png","trust_level":3},{"id":39292,"username":"davidkingham","name":"David Kingham","avatar_template":"/user_avatar/meta.discourse.org/davidkingham/{size}/119528_2.png","trust_level":2},{"id":15900,"username":"dax","name":"Daniela","avatar_template":"/user_avatar/meta.discourse.org/dax/{size}/244677_2.png","flair_name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"primary_group_name":"VolunteerMods","admin":true,"trust_level":3},{"id":84520,"username":"OdysLam","name":"Odysseas Lamtzidis","avatar_template":"/user_avatar/meta.discourse.org/odyslam/{size}/194433_2.png","trust_level":2},{"id":160255,"username":"Jeff_Bull","name":"Jeff Bull","avatar_template":"/user_avatar/meta.discourse.org/jeff_bull/{size}/479571_2.png","trust_level":1},{"id":141800,"username":"Chukwithak","name":"Charlie King","avatar_template":"/user_avatar/meta.discourse.org/chukwithak/{size}/348914_2.png","trust_level":2},{"id":86757,"username":"John_Faig","name":"John Faig","avatar_template":"/user_avatar/meta.discourse.org/john_faig/{size}/439525_2.png","trust_level":1},{"id":138550,"username":"TonyG","name":"Tony G","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/f14d63/{size}.png","trust_level":2},{"id":25348,"username":"JagWaugh","name":"Andrew Waugh","avatar_template":"/user_avatar/meta.discourse.org/jagwaugh/{size}/69335_2.png","trust_level":2},{"id":161179,"username":"Horam","name":"Horam Shaloodegi","avatar_template":"/user_avatar/meta.discourse.org/horam/{size}/463097_2.png","trust_level":0},{"id":145529,"username":"Deenius","name":"Daniel Jurnik","avatar_template":"/user_avatar/meta.discourse.org/deenius/{size}/369129_2.png","trust_level":2},{"id":66698,"username":"Dan_Turner","name":"Dan Turner","avatar_template":"/user_avatar/meta.discourse.org/dan_turner/{size}/138935_2.png","trust_level":2},{"id":140592,"username":"Ric","name":"Ric Harvey","avatar_template":"/user_avatar/meta.discourse.org/ric/{size}/455867_2.png","trust_level":2},{"id":160470,"username":"francis_exalate","name":"Francis Martens (Exalate)","avatar_template":"/user_avatar/meta.discourse.org/francis_exalate/{size}/461390_2.png","trust_level":2},{"id":140838,"username":"srinivas.chilukuri","name":"srinivas chilukuri","avatar_template":"/user_avatar/meta.discourse.org/srinivas.chilukuri/{size}/341708_2.png","trust_level":2},{"id":1495,"username":"blake","name":"Blake Erickson","avatar_template":"/user_avatar/meta.discourse.org/blake/{size}/157322_2.png","trust_level":2}],"primary_groups":[{"id":47,"name":"team"},{"id":276,"name":"VolunteerMods"}],"flair_groups":[{"id":47,"name":"team","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":142,"name":"support-experts","flair_url":"https://global.discourse-cdn.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""}],"topic_list":{"can_create_topic":false,"filter":"latest","more_topics_url":"/c/documentation/integrations/167?page=1","per_page":30,"top_tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":60,"name":"sso","slug":"sso"},{"id":330,"name":"rest-api","slug":"rest-api"},{"id":543,"name":"ai","slug":"ai"},{"id":230,"name":"chat-integration","slug":"chat-integration"},{"id":816,"name":"platforms","slug":"platforms"},{"id":263,"name":"discourseconnect","slug":"discourseconnect"},{"id":755,"name":"social-auth","slug":"social-auth"},{"id":817,"name":"tasks","slug":"tasks"},{"id":818,"name":"zapier","slug":"zapier"},{"id":126,"name":"data-explorer","slug":"data-explorer"},{"id":43,"name":"embedding","slug":"embedding"},{"id":482,"name":"reference","slug":"reference"},{"id":617,"name":"analytics","slug":"analytics"},{"id":279,"name":"auth-plugins","slug":"auth-plugins"},{"id":271,"name":"configuring","slug":"configuring"},{"id":375,"name":"deprecation","slug":"deprecation"},{"id":39,"name":"email","slug":"email"},{"id":384,"name":"gamification","slug":"gamification"},{"id":1099,"name":"google","slug":"google"},{"id":872,"name":"google-workspace","slug":"google-workspace"},{"id":799,"name":"index","slug":"index"},{"id":233,"name":"oauth2","slug":"oauth2"},{"id":234,"name":"patreon","slug":"patreon"},{"id":484,"name":"tutorial","slug":"tutorial"},{"id":1199,"name":"voice","slug":"voice"},{"id":107,"name":"webhooks","slug":"webhooks"},{"id":215,"name":"zendesk","slug":"zendesk"}],"topics":[{"fancy_title":"Integrations Index","fancy_title_localized":false,"locale":"en","id":308033,"title":"Integrations Index","slug":"integrations-index","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2024-05-15T06:03:51.015Z","last_posted_at":"2024-05-15T06:03:51.127Z","bumped":true,"bumped_at":"2026-04-03T23:05:47.114Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Documentation about connecting Discourse with other platforms and services. \nGeneral\n\nCreate API keys: Create and configure an API key\nScoped API keys: Use scoped API Keys\nEmbed topics list: Embed a list of Discourse top&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":799,"name":"index","slug":"index"}],"tags_descriptions":{"index":"Documentation category index topics."},"views":1093,"like_count":5,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":5,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":100484,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse REST API Documentation","fancy_title_localized":false,"locale":"en","id":22706,"title":"Discourse REST API Documentation","slug":"discourse-rest-api-documentation","posts_count":1,"reply_count":201,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_1024x474.gif","created_at":"2014-12-01T14:42:20.657Z","last_posted_at":"2014-12-01T14:42:20.905Z","bumped":true,"bumped_at":"2026-03-18T05:04:14.622Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Discourse API\nPlease view the Discourse API Documentation site for detailed info: \nhttps://docs.discourse.org \n\n:information_source: Authentication\nAPI requests must use HTTP header based authentication. Pass your Api-&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1524,"height":706,"url":"https://global.discourse-cdn.com/meta/original/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b.gif"},{"max_width":1024,"max_height":1024,"width":1024,"height":474,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_1024x474.gif"},{"max_width":800,"max_height":800,"width":800,"height":370,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_800x370.gif"},{"max_width":600,"max_height":600,"width":600,"height":277,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_600x277.gif"},{"max_width":400,"max_height":400,"width":400,"height":185,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_400x185.gif"},{"max_width":300,"max_height":300,"width":300,"height":138,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_300x138.gif"},{"max_width":200,"max_height":200,"width":200,"height":92,"url":"https://global.discourse-cdn.com/meta/optimized/4X/7/c/8/7c8a349ac0853f9beb7863cd997e23750537b82b_2_200x92.gif"}],"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":482,"name":"reference","slug":"reference"}],"tags_descriptions":{"rest-api":"Topics about making an external request to Discourse"},"views":128944,"like_count":97,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":97,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Integrating Discourse Voice with LiveKit","fancy_title_localized":false,"locale":"en","id":411585,"title":"Integrating Discourse Voice with LiveKit","slug":"integrating-discourse-voice-with-livekit","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_960x1024.png","created_at":"2026-09-03T15:19:01.323Z","last_posted_at":"2026-09-03T15:19:01.579Z","bumped":true,"bumped_at":"2026-09-03T15:19:01.579Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This guide walks through connecting Discourse’s Voice plugin to a LiveKit media server. By default, voice calls run peer-to-peer: every participant sends their audio directly to every other participant. That works great &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":2408,"height":2568,"url":"https://global.discourse-cdn.com/meta/original/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a.png"},{"max_width":1024,"max_height":1024,"width":960,"height":1024,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_960x1024.png"},{"max_width":800,"max_height":800,"width":750,"height":800,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_750x800.png"},{"max_width":600,"max_height":600,"width":562,"height":600,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_562x600.png"},{"max_width":400,"max_height":400,"width":375,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_375x400.png"},{"max_width":300,"max_height":300,"width":281,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_281x300.png"},{"max_width":200,"max_height":200,"width":187,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/6/8/868586a2c22848b77b36bd859bcfc569731da99a_2_187x200.png"}],"tags":[{"id":1199,"name":"voice","slug":"voice"}],"tags_descriptions":{},"views":109,"like_count":4,"has_summary":false,"last_poster_username":"pmusaraj","category_id":167,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":21029,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"User API keys specification","fancy_title_localized":false,"locale":"en","id":48536,"title":"User API keys specification","slug":"user-api-keys-specification","posts_count":70,"reply_count":59,"highest_post_number":79,"image_url":null,"created_at":"2016-08-12T02:11:53.412Z","last_posted_at":"2025-09-22T10:30:43.353Z","bumped":true,"bumped_at":"2026-08-12T14:37:49.840Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse contains a system for generating API keys per user if a very specific protocol is followed. This feature facilitates “application” access to Discourse instances without needing to involve moderators. \nHigh le&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":482,"name":"reference","slug":"reference"}],"tags_descriptions":{"rest-api":"Topics about making an external request to Discourse"},"views":37712,"like_count":131,"has_summary":true,"last_poster_username":"messiaslima","category_id":167,"op_like_count":31,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Frequent Poster","user_id":127076,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":406,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Most Recent Poster","user_id":162268,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Set up Gemini API Keys for Discourse AI","fancy_title_localized":false,"locale":"en","id":320688,"title":"Set up Gemini API Keys for Discourse AI","slug":"set-up-gemini-api-keys-for-discourse-ai","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":"https://global.discourse-cdn.com/meta/original/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739.png","created_at":"2024-08-08T07:46:20.611Z","last_posted_at":"2026-08-06T02:03:34.570Z","bumped":true,"bumped_at":"2026-08-06T02:03:34.570Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"How to Set Up Gemini API Keys for Discourse AI\n\nIntroduction\nThis topic covers how to set up your Google Gemini API key with an existing Google Cloud account project.  Gemini is not a free service, and therefore, you &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":988,"height":229,"url":"https://global.discourse-cdn.com/meta/original/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739.png"},{"max_width":800,"max_height":800,"width":800,"height":185,"url":"https://global.discourse-cdn.com/meta/optimized/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739_2_800x185.png"},{"max_width":600,"max_height":600,"width":600,"height":139,"url":"https://global.discourse-cdn.com/meta/optimized/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739_2_600x139.png"},{"max_width":400,"max_height":400,"width":400,"height":92,"url":"https://global.discourse-cdn.com/meta/optimized/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739_2_400x92.png"},{"max_width":300,"max_height":300,"width":300,"height":69,"url":"https://global.discourse-cdn.com/meta/optimized/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739_2_300x69.png"},{"max_width":200,"max_height":200,"width":200,"height":46,"url":"https://global.discourse-cdn.com/meta/optimized/4X/6/1/4/61423e3471367450d097d5baed34d0231d6ea739_2_200x46.png"}],"tags":[{"id":543,"name":"ai","slug":"ai"},{"id":478,"name":"how-to","slug":"how-to"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":1063,"like_count":7,"has_summary":false,"last_poster_username":"Lilly","category_id":167,"op_like_count":5,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":186884,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":127856,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Auto-provisioning user accounts when SSO is enabled","fancy_title_localized":false,"locale":"en","id":399917,"title":"Auto-provisioning user accounts when SSO is enabled","slug":"auto-provisioning-user-accounts-when-sso-is-enabled","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-04-03T23:04:25.441Z","last_posted_at":"2026-04-03T23:04:25.441Z","bumped":true,"bumped_at":"2026-07-13T15:50:28.383Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide explains how to auto-provision user accounts in Discourse when an external authentication provider is enabled, so that users are created automatically without being shown a signup page. \n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":60,"name":"sso","slug":"sso"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":316,"like_count":3,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Create a Salesforce lead via Zapier when a user signs up on Discourse","fancy_title_localized":false,"locale":"en","id":109301,"title":"Create a Salesforce lead via Zapier when a user signs up on Discourse","slug":"create-a-salesforce-lead-via-zapier-when-a-user-signs-up-on-discourse","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/original/3X/1/b/1bc29417f8d5fb123f23977e7f9e133549f33496.png","created_at":"2019-03-09T03:12:49.053Z","last_posted_at":"2019-03-09T03:12:49.053Z","bumped":true,"bumped_at":"2026-07-06T23:20:47.022Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Salesforce leads can be created when a user signs up on your forum by configuring a User Event webhook to post to Zapier and then using the Zapier Salesforce integration to create the lead. \n\nCreate a new Zap\nLogin to Za&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":401,"height":501,"url":"https://global.discourse-cdn.com/meta/original/3X/1/b/1bc29417f8d5fb123f23977e7f9e133549f33496.png"},{"max_width":400,"max_height":400,"width":320,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/3X/1/b/1bc29417f8d5fb123f23977e7f9e133549f33496_2_320x400.png"},{"max_width":300,"max_height":300,"width":240,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/3X/1/b/1bc29417f8d5fb123f23977e7f9e133549f33496_2_240x300.png"},{"max_width":200,"max_height":200,"width":160,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/3X/1/b/1bc29417f8d5fb123f23977e7f9e133549f33496_2_160x200.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":818,"name":"zapier","slug":"zapier"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":2485,"like_count":11,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":11,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Automate sending Discourse invite emails with Zapier","fancy_title_localized":false,"locale":"en","id":121608,"title":"Automate sending Discourse invite emails with Zapier","slug":"automate-sending-discourse-invite-emails-with-zapier","posts_count":38,"reply_count":37,"highest_post_number":50,"image_url":"https://global.discourse-cdn.com/meta/original/3X/0/3/0339c813ac28e5570ea5a986eb68055a389e556e.png","created_at":"2019-06-28T23:14:56.980Z","last_posted_at":"2024-05-03T14:58:51.066Z","bumped":true,"bumped_at":"2026-07-06T23:20:28.454Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"The Discourse API can be used to automate sending invitation emails from your forum when an action is performed on an external application. For many applications, you can use Zapier to set this up without having to write&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":363,"height":274,"url":"https://global.discourse-cdn.com/meta/original/3X/0/3/0339c813ac28e5570ea5a986eb68055a389e556e.png"},{"max_width":300,"max_height":300,"width":300,"height":226,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/3/0339c813ac28e5570ea5a986eb68055a389e556e_2_300x226.png"},{"max_width":200,"max_height":200,"width":200,"height":150,"url":"https://global.discourse-cdn.com/meta/optimized/3X/0/3/0339c813ac28e5570ea5a986eb68055a389e556e_2_200x150.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":817,"name":"tasks","slug":"tasks"},{"id":818,"name":"zapier","slug":"zapier"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":9993,"like_count":80,"has_summary":false,"last_poster_username":"Nick-Permaculture","category_id":167,"op_like_count":25,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":97108,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":1113,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":136740,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Use the Zapier Discourse Zap Templates","fancy_title_localized":false,"locale":"en","id":121603,"title":"Use the Zapier Discourse Zap Templates","slug":"use-the-zapier-discourse-zap-templates","posts_count":9,"reply_count":3,"highest_post_number":11,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_1024x537.png","created_at":"2019-06-28T21:55:22.808Z","last_posted_at":"2022-07-08T06:59:57.672Z","bumped":true,"bumped_at":"2026-07-06T23:20:07.739Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Zapier offers a number of official Discourse zap templates. These templates make it possible to connect Discourse with an external application with minimal configuration. You can find them here: \n\n\nScroll down that pag&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1200,"height":630,"url":"https://global.discourse-cdn.com/meta/original/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":537,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_1024x537.png"},{"max_width":800,"max_height":800,"width":800,"height":420,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_800x420.png"},{"max_width":600,"max_height":600,"width":600,"height":315,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_600x315.png"},{"max_width":400,"max_height":400,"width":400,"height":210,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_400x210.png"},{"max_width":300,"max_height":300,"width":300,"height":157,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_300x157.png"},{"max_width":200,"max_height":200,"width":200,"height":105,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/b/6/0b636aea069fe91189ecb9d937b1f023330866a5_2_200x105.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":818,"name":"zapier","slug":"zapier"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":5357,"like_count":34,"has_summary":false,"last_poster_username":"seong","category_id":167,"op_like_count":17,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":406,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Frequent Poster","user_id":13455,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Recent Poster","user_id":64663,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":115373,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Generate new topics, posts and PM via IFTTT","fancy_title_localized":false,"locale":"en","id":61336,"title":"Generate new topics, posts and PM via IFTTT","slug":"generate-new-topics-posts-and-pm-via-ifttt","posts_count":6,"reply_count":3,"highest_post_number":6,"image_url":"https://global.discourse-cdn.com/meta/original/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c.png","created_at":"2017-04-20T16:30:45.305Z","last_posted_at":"2023-03-23T22:43:21.096Z","bumped":true,"bumped_at":"2026-06-08T21:52:07.575Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Want to use IFTTT to create new topics, posts and personal messages? Let’s get started! \nUsing Maker Webhooks of IFTTT service we can make Discourse API calls. For that we must generate API keys first. You can create API&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1007,"height":209,"url":"https://global.discourse-cdn.com/meta/original/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c.png"},{"max_width":800,"max_height":800,"width":800,"height":166,"url":"https://global.discourse-cdn.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_800x166.png"},{"max_width":600,"max_height":600,"width":600,"height":124,"url":"https://global.discourse-cdn.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_600x124.png"},{"max_width":400,"max_height":400,"width":400,"height":83,"url":"https://global.discourse-cdn.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_400x83.png"},{"max_width":300,"max_height":300,"width":300,"height":62,"url":"https://global.discourse-cdn.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_300x62.png"},{"max_width":200,"max_height":200,"width":200,"height":41,"url":"https://global.discourse-cdn.com/meta/optimized/3X/9/1/9165372a47fa7a7f88adf252d9e56f649bf01b6c_2_200x41.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":817,"name":"tasks","slug":"tasks"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":11610,"like_count":26,"has_summary":false,"last_poster_username":"cogdog","category_id":167,"op_like_count":22,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":77477,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":63921,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":68638,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":16295,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configure Facebook login for Discourse","fancy_title_localized":false,"locale":"en","id":13394,"title":"Configure Facebook login for Discourse","slug":"configure-facebook-login-for-discourse","posts_count":38,"reply_count":114,"highest_post_number":210,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_1024x523.png","created_at":"2014-03-04T17:40:19.713Z","last_posted_at":"2026-06-03T12:45:59.346Z","bumped":true,"bumped_at":"2026-06-03T12:45:59.346Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":exclamation: As of February 2023, Meta has implemented a business verification requirement when publishing new and existing apps. \n\n:warning: Updating the Facebook app API or creating a new app will break existing login&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1394,"height":713,"url":"https://global.discourse-cdn.com/meta/original/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":523,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_1024x523.png"},{"max_width":800,"max_height":800,"width":800,"height":409,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_800x409.png"},{"max_width":600,"max_height":600,"width":600,"height":306,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_600x306.png"},{"max_width":400,"max_height":400,"width":400,"height":204,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_400x204.png"},{"max_width":300,"max_height":300,"width":300,"height":153,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_300x153.png"},{"max_width":200,"max_height":200,"width":200,"height":102,"url":"https://global.discourse-cdn.com/meta/optimized/4X/f/5/e/f5e6494265fecb4d7c9d54ee2ca1fc5a1c646754_2_200x102.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":60,"name":"sso","slug":"sso"},{"id":755,"name":"social-auth","slug":"social-auth"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":332696,"like_count":139,"has_summary":false,"last_poster_username":"pHneutre","category_id":167,"op_like_count":78,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":133767,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":181081,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":138567,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Embed Discourse comments on another website via Javascript","fancy_title_localized":false,"locale":"en","id":31963,"title":"Embed Discourse comments on another website via Javascript","slug":"embed-discourse-comments-on-another-website-via-javascript","posts_count":128,"reply_count":311,"highest_post_number":491,"image_url":null,"created_at":"2015-08-10T18:20:46.333Z","last_posted_at":"2026-06-02T19:14:05.544Z","bumped":true,"bumped_at":"2026-06-02T19:14:05.544Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse has the ability to embed the comments from a topic in a remote site using a Javascript API that creates an IFRAME. For an example of this in action, check out Coding Horror’s blog. The blog is run via Ghost b&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":43,"name":"embedding","slug":"embedding"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":305782,"like_count":282,"has_summary":true,"last_poster_username":"kiefferr","category_id":167,"op_like_count":117,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Frequent Poster","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":12705,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Most Recent Poster","user_id":111706,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Set up Slack notifications using the discourse-chat-integration plugin","fancy_title_localized":false,"locale":"en","id":66730,"title":"Set up Slack notifications using the discourse-chat-integration plugin","slug":"set-up-slack-notifications-using-the-discourse-chat-integration-plugin","posts_count":107,"reply_count":64,"highest_post_number":118,"image_url":"https://global.discourse-cdn.com/meta/original/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257.png","created_at":"2017-07-24T16:45:28.351Z","last_posted_at":"2026-06-01T13:26:59.689Z","bumped":true,"bumped_at":"2026-06-01T13:26:59.689Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This <span class=\"hashtag-icon-placeholder\"></span>howto</span> describes how to setup the Slack provider included in discourse-chat-integration. \nIt allows posting notifications to Slack, managing rules using Slash Commands, and posting transcripts back to Discourse. Slas&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":564,"height":464,"url":"https://global.discourse-cdn.com/meta/original/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257.png"},{"max_width":400,"max_height":400,"width":400,"height":329,"url":"https://global.discourse-cdn.com/meta/optimized/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257_2_400x329.png"},{"max_width":300,"max_height":300,"width":300,"height":246,"url":"https://global.discourse-cdn.com/meta/optimized/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257_2_300x246.png"},{"max_width":200,"max_height":200,"width":200,"height":164,"url":"https://global.discourse-cdn.com/meta/optimized/3X/7/1/712d23f0886549eb0934b392fe790eaecd55b257_2_200x164.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":230,"name":"chat-integration","slug":"chat-integration"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":35734,"like_count":194,"has_summary":true,"last_poster_username":"Devansh_Bartwal","category_id":167,"op_like_count":33,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Frequent Poster","user_id":43426,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":193655,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso)","fancy_title_localized":false,"locale":"en","id":13045,"title":"Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso)","slug":"setup-discourseconnect-official-single-sign-on-for-discourse-sso","posts_count":47,"reply_count":410,"highest_post_number":628,"image_url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_1024x297.jpeg","created_at":"2014-02-25T08:30:34.321Z","last_posted_at":"2026-05-27T03:47:22.487Z","bumped":true,"bumped_at":"2026-05-27T03:47:22.487Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"DiscourseConnect is a core Discourse feature that allows you to configure “Single Sign-On (SSO)” to completely outsource all user registration and login from Discourse to another site. Offered to our pro, business and en&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1632,"height":474,"url":"https://global.discourse-cdn.com/meta/original/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":297,"url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_1024x297.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":232,"url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_800x232.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":174,"url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_600x174.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":116,"url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_400x116.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":87,"url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_300x87.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":58,"url":"https://global.discourse-cdn.com/meta/optimized/3X/d/0/d00e1a088a93b334b9cd7285854d904ed57ec417_2_200x58.jpeg"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":263,"name":"discourseconnect","slug":"discourseconnect"},{"id":60,"name":"sso","slug":"sso"},{"id":271,"name":"configuring","slug":"configuring"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":459254,"like_count":207,"has_summary":false,"last_poster_username":"markschmucker","category_id":167,"op_like_count":176,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":172380,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":53853,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Integrate Google Tag Manager with Google Analytics","fancy_title_localized":false,"locale":"en","id":47335,"title":"Integrate Google Tag Manager with Google Analytics","slug":"integrate-google-tag-manager-with-google-analytics","posts_count":5,"reply_count":33,"highest_post_number":99,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_1024x512.png","created_at":"2016-07-14T21:34:57.461Z","last_posted_at":"2025-01-26T17:47:40.953Z","bumped":true,"bumped_at":"2026-05-12T01:58:41.783Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide will help you set up Google Tag Manager and use it with Google Analytics on your Discourse site. Additionally, it covers configuring variables, triggers, and tags in Google Tag Manager to track pag&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1200,"height":601,"url":"https://global.discourse-cdn.com/meta/original/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":512,"url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_1024x512.png"},{"max_width":800,"max_height":800,"width":800,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_800x400.png"},{"max_width":600,"max_height":600,"width":600,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_600x300.png"},{"max_width":400,"max_height":400,"width":400,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_400x200.png"},{"max_width":300,"max_height":300,"width":300,"height":150,"url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_300x150.png"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"https://global.discourse-cdn.com/meta/optimized/4X/5/8/a/58ab06a8429e5496f88caba5d30ad2a044c4ef2c_2_200x100.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":617,"name":"analytics","slug":"analytics"},{"id":816,"name":"platforms","slug":"platforms"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":25344,"like_count":50,"has_summary":false,"last_poster_username":"luigi7up","category_id":167,"op_like_count":47,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":153707,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":108257,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Most Recent Poster","user_id":151433,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configuring Amazon Bedrock services","fancy_title_localized":false,"locale":"en","id":340742,"title":"Configuring Amazon Bedrock services","slug":"configuring-amazon-bedrock-services","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_571x1024.png","created_at":"2024-12-05T22:23:55.169Z","last_posted_at":"2024-12-05T22:23:55.288Z","bumped":true,"bumped_at":"2026-04-02T04:19:06.865Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide explains how to configure API keys for Amazon Bedrock to enable Discourse AI features that require 3rd party LLM keys. \n:person_raising_hand: Required user level: Administrator \n\nIn this example, w&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":629,"height":1127,"url":"https://global.discourse-cdn.com/meta/original/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4.png"},{"max_width":1024,"max_height":1024,"width":571,"height":1024,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_571x1024.png"},{"max_width":800,"max_height":800,"width":446,"height":800,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_446x800.png"},{"max_width":600,"max_height":600,"width":334,"height":600,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_334x600.png"},{"max_width":400,"max_height":400,"width":223,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_223x400.png"},{"max_width":300,"max_height":300,"width":167,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_167x300.png"},{"max_width":200,"max_height":200,"width":111,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/4X/8/9/8/8988002fa2f591e6d85089d83e73803d7fad3ed4_2_111x200.png"}],"tags":[{"id":543,"name":"ai","slug":"ai"}],"tags_descriptions":{},"views":334,"like_count":3,"has_summary":false,"last_poster_username":"sam","category_id":167,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Trigger a Zapier task with Discourse Webhooks","fancy_title_localized":false,"locale":"en","id":56753,"title":"Trigger a Zapier task with Discourse Webhooks","slug":"trigger-a-zapier-task-with-discourse-webhooks","posts_count":1,"reply_count":29,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/original/3X/5/c/5c75173876c8457037359eb056eff8e2392fa9d7.png","created_at":"2017-02-01T22:11:22.350Z","last_posted_at":"2017-02-01T22:11:22.521Z","bumped":true,"bumped_at":"2026-04-01T23:15:24.765Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Want to use Discourse Webhooks to trigger a task via Zapier? Let’s get started! \n\n:bulb: Tip: Zapier now has an official Discourse integration with built-in triggers and actions (e.g. “New Post”, “Create Post”). For&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":644,"height":287,"url":"https://global.discourse-cdn.com/meta/original/3X/5/c/5c75173876c8457037359eb056eff8e2392fa9d7.png"},{"max_width":600,"max_height":600,"width":600,"height":267,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/c/5c75173876c8457037359eb056eff8e2392fa9d7_2_600x267.png"},{"max_width":400,"max_height":400,"width":399,"height":178,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/c/5c75173876c8457037359eb056eff8e2392fa9d7_2_399x178.png"},{"max_width":300,"max_height":300,"width":300,"height":133,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/c/5c75173876c8457037359eb056eff8e2392fa9d7_2_300x133.png"},{"max_width":200,"max_height":200,"width":199,"height":89,"url":"https://global.discourse-cdn.com/meta/optimized/3X/5/c/5c75173876c8457037359eb056eff8e2392fa9d7_2_199x89.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":107,"name":"webhooks","slug":"webhooks"},{"id":817,"name":"tasks","slug":"tasks"},{"id":818,"name":"zapier","slug":"zapier"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem","webhooks":""},"views":22687,"like_count":32,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":32,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Create a Data Explorer query using the API","fancy_title_localized":false,"locale":"en","id":394388,"title":"Create a Data Explorer query using the API","slug":"create-a-data-explorer-query-using-the-api","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":null,"created_at":"2026-01-26T23:27:26.111Z","last_posted_at":"2026-03-29T19:46:03.737Z","bumped":true,"bumped_at":"2026-03-29T19:46:03.737Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Create a Data Explorer query with the API\n\n\n:bookmark: This how-to guide explains how to create a Data Explorer query using the Discourse API. \n:person_raising_hand: Required user level: Administrator \n\n\nPrerequisites\nB&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":478,"name":"how-to","slug":"how-to"},{"id":126,"name":"data-explorer","slug":"data-explorer"}],"tags_descriptions":{"rest-api":"Topics about making an external request to Discourse","how-to":"How to guides contain steps to follow to solve a specific problem"},"views":264,"like_count":9,"has_summary":false,"last_poster_username":"pfaffman","category_id":167,"op_like_count":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":80639,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Configure API Keys for OpenAI","fancy_title_localized":false,"locale":"en","id":280783,"title":"Configure API Keys for OpenAI","slug":"configure-api-keys-for-openai","posts_count":12,"reply_count":7,"highest_post_number":17,"image_url":null,"created_at":"2023-10-02T18:04:22.840Z","last_posted_at":"2024-11-11T07:04:27.420Z","bumped":true,"bumped_at":"2026-03-23T21:53:37.559Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide explains how to configure API keys for OpenAI to enable Discourse AI features that require 3rd party LLM keys. \n:person_raising_hand: Required user level: Administrator \n\nIn this example, we are us&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":543,"name":"ai","slug":"ai"},{"id":478,"name":"how-to","slug":"how-to"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":4158,"like_count":16,"has_summary":false,"last_poster_username":"sam","category_id":167,"op_like_count":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":41681,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":135271,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":71041,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Setup HubSpot chat Integration","fancy_title_localized":false,"locale":"en","id":128777,"title":"Setup HubSpot chat Integration","slug":"setup-hubspot-chat-integration","posts_count":11,"reply_count":7,"highest_post_number":11,"image_url":"https://global.discourse-cdn.com/meta/original/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54.png","created_at":"2019-09-17T11:36:54.767Z","last_posted_at":"2025-06-17T01:02:56.568Z","bumped":true,"bumped_at":"2026-03-19T10:07:30.409Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Do you want to integrate a CSM on Discourse? Let’s see how to integrate the HubSpot chat on Discourse! \n\n\ncreate an account to HubSpot \n\n\nselect Chat \n  \n\n\ncustomize the interface and the availability as you wish \n    \n\n\n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":868,"height":548,"url":"https://global.discourse-cdn.com/meta/original/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54.png"},{"max_width":800,"max_height":800,"width":800,"height":505,"url":"https://global.discourse-cdn.com/meta/optimized/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54_2_800x505.png"},{"max_width":600,"max_height":600,"width":600,"height":378,"url":"https://global.discourse-cdn.com/meta/optimized/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54_2_600x378.png"},{"max_width":400,"max_height":400,"width":400,"height":252,"url":"https://global.discourse-cdn.com/meta/optimized/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54_2_400x252.png"},{"max_width":300,"max_height":300,"width":300,"height":189,"url":"https://global.discourse-cdn.com/meta/optimized/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54_2_300x189.png"},{"max_width":200,"max_height":200,"width":200,"height":126,"url":"https://global.discourse-cdn.com/meta/optimized/3X/a/c/acfe32dbd0f74357186fc7f4a923a5f8a8fe4c54_2_200x126.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":4421,"like_count":18,"has_summary":false,"last_poster_username":"Jeff_Bull","category_id":167,"op_like_count":12,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":39292,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":15900,"primary_group_id":276,"flair_group_id":47},{"extras":null,"description":"Recent Poster","user_id":84520,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":160255,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Enable group sync from Google Workplace","fancy_title_localized":false,"locale":"en","id":226850,"title":"Enable group sync from Google Workplace","slug":"enable-group-sync-from-google-workplace","posts_count":8,"reply_count":1,"highest_post_number":9,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_1024x256.jpeg","created_at":"2022-05-12T10:04:51.108Z","last_posted_at":"2025-04-11T02:03:14.589Z","bumped":true,"bumped_at":"2026-03-19T04:38:23.630Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"To get started, configure Google login according to these instructions: \n\n\nThen, follow these steps: \n\n\nIn the google dashboard for your OAuth integration, go to “APIs and Services”, and add &quot;Admin SDK \n  →  →  \n\n\nGo to &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1920,"height":481,"url":"https://global.discourse-cdn.com/meta/original/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":256,"url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_1024x256.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_800x200.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":150,"url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_600x150.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":100,"url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_400x100.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":75,"url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_300x75.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":50,"url":"https://global.discourse-cdn.com/meta/optimized/4X/e/1/7/e1784be45bb85c6331b7854498bc10c1569031fd_2_200x50.jpeg"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":816,"name":"platforms","slug":"platforms"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":1802,"like_count":14,"has_summary":false,"last_poster_username":"TonyG","category_id":167,"op_like_count":8,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":141800,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Recent Poster","user_id":86757,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":138550,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Use Discourse as an identity provider (SSO, DiscourseConnect)","fancy_title_localized":false,"locale":"en","id":32974,"title":"Use Discourse as an identity provider (SSO, DiscourseConnect)","slug":"use-discourse-as-an-identity-provider-sso-discourseconnect","posts_count":143,"reply_count":88,"highest_post_number":157,"image_url":null,"created_at":"2015-09-07T09:19:21.886Z","last_posted_at":"2024-11-09T11:50:05.276Z","bumped":true,"bumped_at":"2026-03-18T05:06:15.759Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"So you want to use Discourse as an identity provider for your own web app? Great! Let’s get started. \n\nEnable DiscourseConnect provider setting\nUnder Discourse admin site settings (/admin/site_settings) enable setting en&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":263,"name":"discourseconnect","slug":"discourseconnect"},{"id":60,"name":"sso","slug":"sso"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":51993,"like_count":303,"has_summary":true,"last_poster_username":"Horam","category_id":167,"op_like_count":63,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":25348,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":161179,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Reverse engineer the Discourse API","fancy_title_localized":false,"locale":"en","id":20576,"title":"Reverse engineer the Discourse API","slug":"reverse-engineer-the-discourse-api","posts_count":1,"reply_count":19,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/original/4X/3/b/e/3be9c7a1d786db61c7769cba00a53806a76fd0cb.png","created_at":"2014-09-29T01:22:40.277Z","last_posted_at":"2014-09-29T01:22:40.342Z","bumped":true,"bumped_at":"2026-03-18T05:03:34.118Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse is backed by a complete JSON api. Anything you can do on the site you can also do using the JSON api. \nThe API is documented at docs.discourse.org. You can also use the discourse_api Ruby gem as a client librar&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":526,"height":151,"url":"https://global.discourse-cdn.com/meta/original/4X/3/b/e/3be9c7a1d786db61c7769cba00a53806a76fd0cb.png"},{"max_width":400,"max_height":400,"width":400,"height":114,"url":"https://global.discourse-cdn.com/meta/optimized/4X/3/b/e/3be9c7a1d786db61c7769cba00a53806a76fd0cb_2_400x114.png"},{"max_width":300,"max_height":300,"width":300,"height":86,"url":"https://global.discourse-cdn.com/meta/optimized/4X/3/b/e/3be9c7a1d786db61c7769cba00a53806a76fd0cb_2_300x86.png"},{"max_width":200,"max_height":200,"width":200,"height":57,"url":"https://global.discourse-cdn.com/meta/optimized/4X/3/b/e/3be9c7a1d786db61c7769cba00a53806a76fd0cb_2_200x57.png"}],"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":478,"name":"how-to","slug":"how-to"}],"tags_descriptions":{"rest-api":"Topics about making an external request to Discourse","how-to":"How to guides contain steps to follow to solve a specific problem"},"views":38118,"like_count":102,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":102,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Use the Discourse API ruby gem","fancy_title_localized":false,"locale":"en","id":17587,"title":"Use the Discourse API ruby gem","slug":"use-the-discourse-api-ruby-gem","posts_count":1,"reply_count":39,"highest_post_number":1,"image_url":null,"created_at":"2014-07-15T03:29:14.922Z","last_posted_at":"2014-07-15T03:29:15.135Z","bumped":true,"bumped_at":"2026-03-18T05:02:54.558Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"So you want to use Discourse API? Great! Let’s get started. \nSet up Discourse development environment\nSet up Discourse development environment using our Windows, macOS or Ubuntu guide. \nClone Discourse API Gem\nNow that&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":478,"name":"how-to","slug":"how-to"}],"tags_descriptions":{"rest-api":"Topics about making an external request to Discourse","how-to":"How to guides contain steps to follow to solve a specific problem"},"views":24751,"like_count":29,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":29,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configure Google login for Discourse","fancy_title_localized":false,"locale":"en","id":15858,"title":"Configure Google login for Discourse","slug":"configure-google-login-for-discourse","posts_count":6,"reply_count":170,"highest_post_number":261,"image_url":"https://global.discourse-cdn.com/meta/original/4X/d/9/b/d9b99b45a5ff9119c1d5715c2692d164ac075133.jpeg","created_at":"2014-05-21T22:46:55.403Z","last_posted_at":"2025-07-15T17:06:01.178Z","bumped":true,"bumped_at":"2026-03-18T04:55:52.622Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide explains how to set up Google login integration for your Discourse site by configuring OAuth2 credentials in the Google Cloud Console. \n:person_raising_hand: Required user level: Administrator \n\n\nO&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":690,"height":276,"url":"https://global.discourse-cdn.com/meta/original/4X/d/9/b/d9b99b45a5ff9119c1d5715c2692d164ac075133.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":240,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/9/b/d9b99b45a5ff9119c1d5715c2692d164ac075133_2_600x240.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":160,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/9/b/d9b99b45a5ff9119c1d5715c2692d164ac075133_2_400x160.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":120,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/9/b/d9b99b45a5ff9119c1d5715c2692d164ac075133_2_300x120.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":80,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/9/b/d9b99b45a5ff9119c1d5715c2692d164ac075133_2_200x80.jpeg"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":60,"name":"sso","slug":"sso"},{"id":755,"name":"social-auth","slug":"social-auth"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":238059,"like_count":166,"has_summary":false,"last_poster_username":"patrickemin","category_id":167,"op_like_count":165,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Frequent Poster","user_id":145529,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":21029,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Most Recent Poster","user_id":64663,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Configure GitHub login for Discourse","fancy_title_localized":false,"locale":"en","id":13745,"title":"Configure GitHub login for Discourse","slug":"configure-github-login-for-discourse","posts_count":1,"reply_count":18,"highest_post_number":1,"image_url":"https://global.discourse-cdn.com/meta/original/4X/a/b/2/ab2b4133a0458fac605f491efa7b0235ead716df.png","created_at":"2014-03-14T20:47:14.134Z","last_posted_at":"2014-03-14T20:47:14.255Z","bumped":true,"bumped_at":"2026-03-18T04:27:53.145Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide explains how to set up GitHub as a login option for your Discourse forum by configuring OAuth credentials. \n:person_raising_hand: Required user level: Administrator \n\n\nOverview\nGitHub login integra&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":511,"height":525,"url":"https://global.discourse-cdn.com/meta/original/4X/a/b/2/ab2b4133a0458fac605f491efa7b0235ead716df.png"},{"max_width":400,"max_height":400,"width":389,"height":400,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/b/2/ab2b4133a0458fac605f491efa7b0235ead716df_2_389x400.png"},{"max_width":300,"max_height":300,"width":292,"height":300,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/b/2/ab2b4133a0458fac605f491efa7b0235ead716df_2_292x300.png"},{"max_width":200,"max_height":200,"width":194,"height":200,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/b/2/ab2b4133a0458fac605f491efa7b0235ead716df_2_194x200.png"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":60,"name":"sso","slug":"sso"},{"id":755,"name":"social-auth","slug":"social-auth"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":270016,"like_count":45,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":45,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Google Search for Discourse AI - Programmable Search Engine and Custom Search API","fancy_title_localized":false,"locale":"en","id":307107,"title":"Google Search for Discourse AI - Programmable Search Engine and Custom Search API","slug":"google-search-for-discourse-ai-programmable-search-engine-and-custom-search-api","posts_count":15,"reply_count":6,"highest_post_number":16,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_1024x474.jpeg","created_at":"2024-05-07T16:17:28.961Z","last_posted_at":"2026-03-14T14:28:20.287Z","bumped":true,"bumped_at":"2026-03-14T14:28:20.287Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: Deprecation Notice (March 2026): Google has discontinued the “Search the entire web” option for Programmable Search Engines. New search engines now require at least one specific site to be configured. Additi&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":2320,"height":1074,"url":"https://global.discourse-cdn.com/meta/original/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":474,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_1024x474.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":370,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_800x370.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":277,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_600x277.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":185,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_400x185.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":138,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_300x138.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":92,"url":"https://global.discourse-cdn.com/meta/optimized/4X/a/0/5/a052540cad7024ab9e108f191bf9a5e42ed54b96_2_200x92.jpeg"}],"tags":[{"id":543,"name":"ai","slug":"ai"},{"id":478,"name":"how-to","slug":"how-to"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":3463,"like_count":22,"has_summary":false,"last_poster_username":"satonotdead","category_id":167,"op_like_count":7,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":127856,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Recent Poster","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Most Recent Poster","user_id":71041,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Set up Microsoft Teams notifications using the discourse-chat-integration plugin","fancy_title_localized":false,"locale":"en","id":159193,"title":"Set up Microsoft Teams notifications using the discourse-chat-integration plugin","slug":"set-up-microsoft-teams-notifications-using-the-discourse-chat-integration-plugin","posts_count":29,"reply_count":20,"highest_post_number":32,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_1024x887.jpeg","created_at":"2020-07-29T17:41:28.424Z","last_posted_at":"2025-08-08T12:06:20.528Z","bumped":true,"bumped_at":"2026-03-03T13:34:38.016Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This guide describes how to set up the Microsoft Teams provider included in discourse-chat-integration . \n\nSetup Microsoft Teams\nIn Microsoft Teams: \n\n\nFrom the vertical navigation bar on the left, click the ellipsis but&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":3388,"height":2936,"url":"https://global.discourse-cdn.com/meta/original/4X/0/5/3/053afb904a0384321467f621af3e583598486837.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":887,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_1024x887.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":693,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_800x693.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":519,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_600x519.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":346,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_400x346.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":259,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_300x259.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":173,"url":"https://global.discourse-cdn.com/meta/optimized/4X/0/5/3/053afb904a0384321467f621af3e583598486837_2_200x173.jpeg"}],"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":230,"name":"chat-integration","slug":"chat-integration"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":6335,"like_count":61,"has_summary":false,"last_poster_username":"Ric","category_id":167,"op_like_count":12,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Frequent Poster","user_id":66698,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":100484,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":140592,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Automate the syncing of Discourse queries to Google Sheets","fancy_title_localized":false,"locale":"en","id":394473,"title":"Automate the syncing of Discourse queries to Google Sheets","slug":"automate-the-syncing-of-discourse-queries-to-google-sheets","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-01-27T18:31:01.339Z","last_posted_at":"2026-01-27T18:31:01.416Z","bumped":true,"bumped_at":"2026-02-25T00:37:36.539Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Sync Discourse Data Explorer queries to Google Sheets\n\n:bookmark: This how-to guide explains how to automate importing Discourse Data Explorer query results into Google Sheets using Google Apps Script. \n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"how-to","slug":"how-to"},{"id":126,"name":"data-explorer","slug":"data-explorer"},{"id":1099,"name":"google","slug":"google"}],"tags_descriptions":{"how-to":"How to guides contain steps to follow to solve a specific problem"},"views":130,"like_count":4,"has_summary":false,"last_poster_username":"Discourse","category_id":167,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Run Data Explorer queries with the Discourse API","fancy_title_localized":false,"locale":"en","id":120063,"title":"Run Data Explorer queries with the Discourse API","slug":"run-data-explorer-queries-with-the-discourse-api","posts_count":15,"reply_count":40,"highest_post_number":65,"image_url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_1024x154.png","created_at":"2019-06-11T19:43:38.864Z","last_posted_at":"2025-05-06T17:15:01.413Z","bumped":true,"bumped_at":"2026-02-25T00:35:53.467Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: This guide explains how to use the Discourse API to create, run, and manage queries with the Data Explorer plugin. \n:person_raising_hand: Required user level: Administrator \n\nVirtually any action that can b&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1494,"height":226,"url":"https://global.discourse-cdn.com/meta/original/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":154,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_1024x154.png"},{"max_width":800,"max_height":800,"width":800,"height":121,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_800x121.png"},{"max_width":600,"max_height":600,"width":600,"height":90,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_600x90.png"},{"max_width":400,"max_height":400,"width":400,"height":60,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_400x60.png"},{"max_width":300,"max_height":300,"width":300,"height":45,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_300x45.png"},{"max_width":200,"max_height":200,"width":200,"height":30,"url":"https://global.discourse-cdn.com/meta/optimized/4X/d/e/0/de08dc117fcce3b54d59f22def342e04f9cbe301_2_200x30.png"}],"tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":478,"name":"how-to","slug":"how-to"},{"id":126,"name":"data-explorer","slug":"data-explorer"}],"tags_descriptions":{"rest-api":"Topics about making an external request to Discourse","how-to":"How to guides contain steps to follow to solve a specific problem"},"views":14115,"like_count":56,"has_summary":false,"last_poster_username":"blake","category_id":167,"op_like_count":40,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":160470,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Recent Poster","user_id":140838,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":1495,"primary_group_id":null,"flair_group_id":null}]}]}}