{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"Twitter integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"twitter-integration","__idx":0},"children":["Twitter integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Integrating Twitter with Frontegg allows your application to read tweets, post on behalf of users, and access direct messages — all through Frontegg's integration layer using X's OAuth 2.0."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Prerequisites","type":"attention"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Twitter or X account"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Access to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://console.x.com/"},"children":["X Developer Console"]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-twitter-oauth-app","__idx":1},"children":["Create a Twitter OAuth app"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-open-the-x-developer-console","__idx":2},"children":["Step 1: Open the X Developer Console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://console.x.com/"},"children":["console.x.com"]}," and sign in with your X (Twitter) account. After signing in, you land on the developer dashboard."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-1.639b6bf51d347b8f760eba5ebcfabc80144ce92d26cdacecf01ba76429d7ed0a.1ce25488.png","alt":"X Developer Console dashboard"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-open-the-apps-page","__idx":3},"children":["Step 2: Open the Apps page"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the left sidebar, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apps"]},". On the Apps page, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create App"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-2.026f70f17a8b37a4e3abc1ea230cc7ab09eb7c1d32d585029efb6d851f18d4cf.1ce25488.png","alt":"Apps page with Create App button highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-3-name-your-app","__idx":4},"children":["Step 3: Name your app"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create New Client Application"]}," dialog:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter a name for the app — for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Leave ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Environment"]}," as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Development"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create New Client Application"]},"."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-3.b68ffe08510dc4c47c22eeac0860e6a255ca1a11933959112d481dfc672b3577.1ce25488.png","alt":"Create New Client Application dialog with name filled in"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-4-save-or-close-the-initial-credentials-dialog","__idx":5},"children":["Step 4: Save or close the initial credentials dialog"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After the app is created, a dialog displays a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Consumer Key"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Secret Key"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bearer Token"]},". These are OAuth 1.0a credentials — save them if you intend to use OAuth 1.0a access. For the Frontegg integration, you will use OAuth 2.0 credentials that are generated in a later step."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Close"]}," to dismiss the dialog."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Save your credentials","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Secret Key and Bearer Token are shown only once. If you need OAuth 1.0a access, copy and save them before closing this dialog."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-4.3050e323c9cf2c245fd2dfe5651439b2ca53ee40fddca6eaea050ceaac7b8d33.1ce25488.png","alt":"Application Created Successfully dialog showing Consumer Key and blurred secrets"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-5-set-up-user-authentication","__idx":6},"children":["Step 5: Set up user authentication"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After closing the dialog, click on ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg Integration"]}," in the app list on the left. The app panel opens on the right. Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["User authentication settings"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Set up"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-5.0ebf5dee210f759681a0862ca6d0bd8f422e3082b9eac9be5a1eac953219c740.1ce25488.png","alt":"App panel showing User authentication settings section with Set up button highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-6-configure-permissions-and-app-type","__idx":7},"children":["Step 6: Configure permissions and app type"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authentication settings"]}," page:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App permissions"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Read and write and Direct message"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type of App"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web App, Automated App or Bot"]}," (Confidential client)."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-9.0e862231b656caf6c7d27d6ecba4dc193d2d0db8f16a960e6fd0e5551df6b946.1ce25488.png","alt":"Authentication settings page showing permissions and app type selections"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-7-add-redirect-uris-and-save","__idx":8},"children":["Step 7: Add redirect URIs and save"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App info"]},", configure the following fields:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Callback URI / Redirect URL"]}," field, enter:",{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://YOUR_MCP_GATEWAY_URL/integration-callback\n"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add another"]}," and enter:",{"$$mdtype":"Tag","name":"div","attributes":{},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Website URL"]}," field, enter your application's URL."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save Changes"]},"."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-7.c1b7c55a32b3cda6cf09ebf231e20b694c0afc5bc6cd9e0c03b94a28d77ecf89.1ce25488.png","alt":"App info section with the redirect URI filled in and Save Changes button"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-8-copy-your-oauth-20-credentials","__idx":9},"children":["Step 8: Copy your OAuth 2.0 credentials"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After saving, a dialog displays your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth 2.0 Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},". Copy both values and store them securely."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Save your Client Secret now","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Client Secret is shown only once in this dialog. After you close it, you can only regenerate a new one — the original value cannot be retrieved."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-8.6e763088ad4bc9e400a646e143b8d98673a8c58066df1bc2c7351fba45ea8d8d.1ce25488.png","alt":"Did you save your OAuth 2.0 Client Secret dialog showing Client ID and blurred Client Secret"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can view the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," at any time by clicking on the app name in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apps"]}," list and scrolling to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth 2.0 Keys"]}," section."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/twitter-6.952209c08b1a185b08bf38478a710d5ae653cf8b0f657248a1a073bc40a063c0.1ce25488.png","alt":"App panel showing OAuth 2.0 Keys section with Client ID visible"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":10},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},", enter them in the Frontegg portal:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg portal"]}," and navigate to [ENVIRONMENT] → Integrations → Twitter."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," in the corresponding fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the required ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["scopes"]},":"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tweet.read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read tweets"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tweet.write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Post tweets"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["users.read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read user data"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offline.access"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Stay connected to account"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dm.read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Read direct messages"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dm.write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send direct messages"]}]}]}]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":4},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your credentials secure","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Never share or commit your Client Secret to version control."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":11},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.x.com/x-api"},"children":["X API documentation"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://console.x.com/"},"children":["X Developer Console"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.x.com/resources/fundamentals/authentication/oauth-2-0/authorization-code"},"children":["OAuth 2.0 with PKCE"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/agen-for-work/connectors/redirect-url"},"children":["How to get your Redirect URL"]}]}]}]}]},"headings":[{"value":"Twitter integration","id":"twitter-integration","depth":2},{"value":"Create a Twitter OAuth app","id":"create-a-twitter-oauth-app","depth":3},{"value":"Step 1: Open the X Developer Console","id":"step-1-open-the-x-developer-console","depth":4},{"value":"Step 2: Open the Apps page","id":"step-2-open-the-apps-page","depth":4},{"value":"Step 3: Name your app","id":"step-3-name-your-app","depth":4},{"value":"Step 4: Save or close the initial credentials dialog","id":"step-4-save-or-close-the-initial-credentials-dialog","depth":4},{"value":"Step 5: Set up user authentication","id":"step-5-set-up-user-authentication","depth":4},{"value":"Step 6: Configure permissions and app type","id":"step-6-configure-permissions-and-app-type","depth":4},{"value":"Step 7: Add redirect URIs and save","id":"step-7-add-redirect-uris-and-save","depth":4},{"value":"Step 8: Copy your OAuth 2.0 credentials","id":"step-8-copy-your-oauth-20-credentials","depth":4},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"seo":{"title":"Twitter integration"}},"lastModified":"2026-05-01T18:45:25.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/twitter","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}