> ## Documentation Index
> Fetch the complete documentation index at: https://support.paddypost.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect X (Twitter)

> Configure your own X (Twitter) App to enable scheduling and publishing in PaddyPost.

Because X (Twitter) requires you to use your own API keys, you need to create an App in the X Developer Console and connect it to PaddyPost. This guide walks you through the entire process.

## Prerequisites

Before you begin, ensure you have:

* A verified **X (Twitter) account**.
* **Admin access** to your PaddyPost workspace.

## Step 1: Create a Developer Account

<Steps>
  <Step title="Sign Up">
    Go to [console.x.com](https://console.x.com/) and sign up for an account using your existing X (Twitter) account.
  </Step>

  <Step title="Click Start Building">
    On the Developer Console page, click the **Start Building** button to begin setting up your developer access.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/start-building.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=b8650524fc7987c5691d31f43762e07b" alt="Start Building button on the X Developer Console" width="1889" height="1632" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/start-building.png" />
    </Frame>
  </Step>

  <Step title="Create Your First Project">
    You will be prompted to create your first Project. Fill in the following details:

    * **Project Name**: Give it a name like "PaddyPost" or "My Scheduler".
    * **Description**: Enter a short description (e.g., "Social media posting app").
    * **Use Case**: Select **Exploring the API** from the dropdown.

    Click **Create** to proceed.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/create-project.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=cebc7d49fd971f5025ea2125be5415a6" alt="Create Project form in X Developer Console" width="1427" height="894" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/create-project.png" />
    </Frame>
  </Step>
</Steps>

## Step 2: Create an App

<Steps>
  <Step title="Navigate to Apps">
    On the Dashboard, click **Apps** in the sidebar, then click **Create App**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/create-app.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=98f00acb8562ec94f4de25b1b2ad3291" alt="Apps page showing the Create App button" width="1748" height="687" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/create-app.png" />
    </Frame>
  </Step>

  <Step title="Configure and Create">
    * **Application Name**: Choose a unique name (e.g., "My Scheduler App").
    * **Environment**: Set this to **Production**.

    Click **Create New Client Application**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/create-client-application.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=355e5ee8ed36461dd6f9bcd9f98d6383" alt="Create New Client Application dialog" width="1277" height="699" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/create-client-application.png" />
    </Frame>
  </Step>

  <Step title="Save Your Keys">
    After creation, you will be shown your **Consumer Key** and **Secret Key**. Copy both and save them in a secure place — they will not be shown again.

    <Warning>
      **Important**: Save the **Consumer Key** and **Secret Key** now. You will need them later when configuring PaddyPost.
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/application-created-keys.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=34bdae01d502260f4ef88290818ece51" alt="Application Created Successfully dialog showing Consumer Key and Secret Key" width="1461" height="1043" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/application-created-keys.png" />
    </Frame>
  </Step>
</Steps>

## Step 3: Set Up User Authentication

<Steps>
  <Step title="Open Your App">
    Click on your newly created App. Under **User authentication settings**, click the **Set up** button.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/user-auth-setup.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=e90a72315e0b3000ee87d1b470fc9a7a" alt="App settings showing User authentication settings with Set up button" width="1024" height="639" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/user-auth-setup.png" />
    </Frame>
  </Step>

  <Step title="Set App Permissions">
    Under **App permissions**, select **Read and write**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/app-permissions.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=98953e88ea46a00ec6237f90d96499ee" alt="App permissions selection with Read and write highlighted" width="1597" height="911" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/app-permissions.png" />
    </Frame>
  </Step>

  <Step title="Set App Type">
    Under **Type of App**, select **Web App, Automated App or Bot**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/app-type.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=b5cd79db3e77d34d77193cf11ffc1cf8" alt="Type of App selection with Web App, Automated App or Bot highlighted" width="1586" height="676" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/app-type.png" />
    </Frame>
  </Step>

  <Step title="Enter Callback and Website URLs">
    Under **App info**, enter the following:

    * **Callback URI / Redirect URL**:
      ```
      https://app.paddypost.com/paddypost/callback/twitter
      ```
    * **Website URL**: Enter your main website URL (e.g., `https://your-company.com`).

    <Warning>
      Ensure you enter the callback URL **exactly** as shown above. Any mismatch will prevent your account from connecting.
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/app-info-urls.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=e312f4f051ac66c3371c1807b999d75d" alt="App info form showing Callback URI and Website URL fields" width="1024" height="782" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/app-info-urls.png" />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Save Changes** at the bottom of the page.

    <Note>
      You do **not** need to copy the Client ID or Client Secret shown after saving. You only need the **Consumer Key** and **Secret Key** you saved in Step 2.
    </Note>
  </Step>
</Steps>

## Step 4: Add Credits to Your X Developer Account

X requires you to add credits to your developer account before you can make API calls.

<Steps>
  <Step title="Go to Buy Credits">
    On your X Developer Console dashboard, click the **Buy Credits** button in the top right.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/buy-credits.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=68bd60a72a99e4710b45143765b5391f" alt="X Developer Console dashboard showing Buy Credits button" width="1704" height="845" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/buy-credits.png" />
    </Frame>
  </Step>

  <Step title="Purchase Credits">
    Select the amount you want to add. We recommend at least **\$5**, which gives you approximately **500 posts**.

    Click **Continue to payment** and complete the purchase.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/purchase-credits.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=c2f173b94d4aee499f41aa2e59dbc76f" alt="Purchase credits dialog with amount options" width="1254" height="869" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/purchase-credits.png" />
    </Frame>
  </Step>

  <Step title="Confirm Balance">
    After payment, you will see your updated credit balance on the dashboard.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/credit-balance.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=d062e0bc1a99b89be37f80b046bc924b" alt="Dashboard showing updated credit balance" width="1294" height="774" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/credit-balance.png" />
    </Frame>
  </Step>
</Steps>

## Step 5: Configure PaddyPost

<Steps>
  <Step title="Open Settings">
    Log in to PaddyPost as an Admin. Click on your profile menu and select **Settings**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/settings.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=140c9cb1db1b050f58b17013fc4434be" alt="PaddyPost settings page" width="3738" height="1513" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/settings.png" />
    </Frame>
  </Step>

  <Step title="Go to Services">
    In the Settings sidebar, click **Services**.
  </Step>

  <Step title="Enter Your API Credentials">
    Find the **X** service and enter the following:

    * **API Key**: Paste the **Consumer Key** you saved in Step 2.
    * **API Secret**: Paste the **Secret Key** you saved in Step 2.
    * **Tier**: Select **Free** (or Basic if you have upgraded your X developer plan).
    * **Status**: Tick the **Active** checkbox.

    Click **Save**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/services.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=67f4a81c8ef93c7afb6c9cb5228e4f03" alt="PaddyPost services page" width="3757" height="1407" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/services.png" />
    </Frame>
  </Step>
</Steps>

## Step 6: Connect Your Account

<Steps>
  <Step title="Go to Accounts">
    Navigate to the **Accounts** page in the PaddyPost sidebar.
  </Step>

  <Step title="Add Account">
    Click **Add Account** and select **X**.
  </Step>

  <Step title="Authorize">
    You will be redirected to X (Twitter). Click **Authorize app** to grant PaddyPost permission to post on your behalf.
  </Step>
</Steps>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Unable to connect after entering keys">
    The most common issue is pasting the wrong keys. Make sure you are using the **Consumer Key** and **Secret Key** (OAuth 1.0 keys), **not** the OAuth 2.0 Client ID and Secret.

    To fix this:

    1. Go to [console.x.com](https://console.x.com/).
    2. Click **Apps** in the sidebar and select your app.
    3. Under **OAuth 1.0 Keys**, click **Regenerate**.
    4. Copy the new **Consumer Key** and **Secret Key**.
    5. Update the keys in PaddyPost under **Settings** > **Services**.

    <Frame>
      <img src="https://mintcdn.com/paddypost/UKj2X93zvOw8z7Jl/images/connecting-social-accounts/how-to-connect-twitter-accounts/regenerate-keys.png?fit=max&auto=format&n=UKj2X93zvOw8z7Jl&q=85&s=c21abdc9c8d41cae9dfb263449de79d5" alt="App settings showing OAuth 1.0 Keys with Regenerate button" width="1024" height="540" data-path="images/connecting-social-accounts/how-to-connect-twitter-accounts/regenerate-keys.png" />
    </Frame>
  </Accordion>

  <Accordion title="Posts stuck in Publishing">
    If you can connect your profile but posts are stuck in "Publishing", you have likely run out of X API credits.

    Go to your [X Developer Console](https://console.x.com/) and add more credits. We recommend at least **\$5**, which gives you approximately **500 posts**.
  </Accordion>

  <Accordion title="Error: 403 Forbidden / Posting Failed">
    This usually indicates a permission issue.

    1. **Check App Permissions**: Ensure **Read and write** is selected in "User authentication settings".
    2. **Regenerate Keys**: If you changed permissions *after* generating keys, you **must** regenerate the Consumer Key and Secret.
  </Accordion>

  <Accordion title="Error: Callback URL mismatch">
    Ensure the **Callback URI** in X Developer Console matches exactly:

    ```
    https://app.paddypost.com/paddypost/callback/twitter
    ```

    Check for trailing spaces or missing `https://`.
  </Accordion>
</AccordionGroup>
