| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 5125 |
| Technical Name |
d_social_x |
| License | OPL-1 |
| Website | https://duong-odoo-apps.odoo.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 5125 |
| Technical Name |
d_social_x |
| License | OPL-1 |
| Website | https://duong-odoo-apps.odoo.com |
X (TWITTER) SOCIAL FOR ODOO COMMUNITY
Enterprise-Grade X Integration & Management
Seamlessly integrate your X (Twitter) accounts with Odoo Community Edition. Manage posts, engage with comments, publish content, and track analytics using the latest X API v2.
Key Features
- OAuth 2.0 Authentication: Secure integration with X API v2 using PKCE
- Multiple Accounts: Connect and manage multiple X accounts
- Advanced Analytics: Track likes, retweets, replies, and impressions
- Comment Management: Reply to comments and manage conversations directly in Odoo
- Media Publishing: Post text, images, videos, and GIFs with validation
- Real-time Sync: Automatic synchronization of posts and engagement metrics
- Content Validation: Built-in validation for X API constraints (280 chars, file sizes)
- Preview System: Dynamic X post preview with authentic styling
X Content & Account Synchronization
Automatically sync your X posts and account metrics directly into Odoo Community. Keep track of all your X content and performance data in one centralized location.
- Automatic content synchronization from X accounts using X API v2
- Track engagement metrics: likes, retweets, replies, quotes, and impressions
- Smart filtering to exclude replies and retweets for clean content sync
- Automatic media attachment processing with preview images
- Clean text processing to remove t.co URLs and normalize content
Comment Management & Engagement
Manage all your X conversations directly from Odoo Community. Reply to comments, view threaded conversations, and engage with your audience without leaving your dashboard.
- View all comments and replies on your X posts in real-time
- Reply to comments with text and media attachments
- Threaded conversation view with nested replies
- Immediate comment display with data URI for instant media preview
- Smart comment hierarchy with direct comments and nested replies
- Author resolution with profile images and usernames
Advanced Media Upload & Publishing
Publish rich content to X with advanced media upload capabilities. Support for images, videos, GIFs with chunked upload, retry logic, and comprehensive validation.
- Chunked media upload with adaptive chunk sizes for reliability
- Support for images (JPG, PNG, GIF, WEBP), videos (MP4, WEBM), and more
- Automatic retry logic for failed uploads with progressive chunk reduction
- Asynchronous video processing with status polling
- Media expiry tracking to prevent timeout errors
- Comprehensive file validation (size, format, X API constraints)
Dynamic Post Preview & Validation
Preview your X posts exactly as they will appear on the platform. Built-in validation ensures your content meets X API requirements before publishing.
- Authentic X post preview with real styling and layout
- Dynamic media display with support for multiple images and videos
- Real-time character count validation (280 character limit)
- File size and format validation before upload
- Media constraint validation (4 images, 1 video/GIF per post)
- User-friendly error messages with specific guidance
Comprehensive Analytics & Insights
Track detailed analytics for each X post and your overall account performance. Make data-driven decisions to optimize your X marketing strategy.
- Track likes, retweets, replies, quotes, and impressions for each post
- Monitor account metrics: followers, following, total tweets
- Automatic token refresh to maintain continuous access
- Real-time engagement tracking with comment and reply counts
- Historical data preservation for trend analysis
- Performance insights to optimize posting strategy
Documentation
Please go to documentation tab in the right side to see how to configure X developer app and in Odoo as well
Support
For support, feature requests, or custom development, please contact us:
X (Twitter) Social Integration Guide
This comprehensive guide will walk you through setting up X (Twitter) integration with your Odoo Community Edition instance using the d_social_x module.
Prerequisites
Before starting, ensure you have:
- Odoo Community Edition 18.0 or later
- The d_social module installed and configured
- A valid X (Twitter) account
- Administrator access to your Odoo instance
- A publicly accessible Odoo instance (required for OAuth callbacks)
1. Setting up X Developer Account & App
1.1. Create X Developer Account
- Visit the X Developer Portal at https://developer.x.com/
- Click the "Subscribe now" button to create a developer account
- You can sign up using your existing X account or Google account
1.2. Create X Application
- Navigate to the "Projects & Apps" tab in your developer dashboard
- Select your "Default Project" (or create a new project if needed)
- Click on "User authentication settings" and then "Edit"
1.3. Configure App Permissions
App permissions: Select "Read and write and Direct message"
Type of App: Choose "Web App"
Callback URLs: Enter your Odoo callback URL using this format:
https://{your-odoo-instance}/social_x/authentication
Example: https://mycompany.odoo.com/social_x/authentication
Website URL: Enter your company website or Odoo instance URL
Click "Save" to apply the settings
1.4. Get API Credentials
- Return to the "Projects & Apps" tab
- Select your project
- Navigate to the "Keys and tokens" tab
- Copy the Client ID
- Click "Generate" next to Client Secret and copy the Client Secret
Warning
Store your Client Secret securely. It will only be shown once and cannot be retrieved later.
2. Configure Odoo Community Module
2.1. Install d_social_x Module
- Go to Apps menu in Odoo
- Search for "d_social_x" or "X Social"
- Click Install on the "X (Twitter) Social Marketing - Community" module
- Note: This module is designed for Odoo Community Edition and requires the d_social module
2.2. Configure X API Credentials
- Navigate to Settings > Social Media > X Configuration
- Enter your X API credentials:
- X Client ID: Paste the Client ID from X Developer Portal
- X Client Secret: Paste the Client Secret from X Developer Portal
- Click Save to store the configuration
3. Connecting X Accounts
3.1. Link X Account
- Go to Social Marketing > Configuration > Social Accounts
- Click Create to add a new social account
- Select X (Twitter) as the social media platform
- Click Link Account button
- You'll be redirected to X for authorization
- Log in to your X account and authorize the application
- You'll be redirected back to Odoo with the account connected
3.2. Account Synchronization
Once connected, the module will automatically:
- Sync your account information (followers, following, bio)
- Import your recent posts with engagement metrics
- Set up automatic token refresh for continuous access
4. Publishing Content to X
4.1. Creating X Posts
- Navigate to Social Marketing > Posts
- Click Create to compose a new post
- Select your X account(s) from the social accounts field
- Write your content (maximum 280 characters)
- Optionally attach media files (images, videos, GIFs)
- Use the X preview to see how your post will appear
- Click Post Now or schedule for later
4.2. Media Upload Features
The module supports advanced media upload capabilities:
- Chunked upload: Large files are uploaded in chunks for reliability
- Retry logic: Automatic retry with smaller chunks if upload fails
- Async processing: Videos and GIFs are processed asynchronously
- Progress tracking: Real-time upload progress and status updates
5. Managing Comments and Engagement
5.1. Viewing Comments
- Go to Social Marketing > Live Posts
- Find your X post and click on it
- Click the View Engagements button
- All comments and replies will be loaded in real-time
The engagement dialog shows:
- Direct comments on your post
- Nested replies to comments
- Author information with profile pictures
- Media attachments in comments
- Engagement metrics (likes, replies, retweets)
5.2. Replying to Comments
- In the engagement dialog, find the comment you want to reply to
- Click the Reply button
- Type your response
- Optionally attach media files
- Click Send Reply
The reply will be posted immediately to X and displayed in Odoo without the "processing" delay.
5.3. Creating New Comments
- In the engagement dialog, use the comment box at the top
- Type your comment
- Attach media if desired
- Click Post Comment
Your comment appears immediately with any attached media displayed inline.
6. Analytics and Insights
6.1. Post Analytics
Each X post in Odoo tracks comprehensive metrics:
- Likes: Number of users who liked the post
- Retweets: Number of times the post was retweeted
- Replies: Number of direct replies to the post
- Quotes: Number of quote tweets
- Impressions: Total number of times the post was viewed
6.2. Account Insights
Account-level metrics are automatically synced:
- Followers count: Current number of followers
- Following count: Number of accounts you follow
- Tweet count: Total number of tweets posted
- Likes count: Total likes received across all posts
6.3. Automatic Sync
The module automatically:
- Refreshes access tokens before they expire
- Syncs new posts and updated metrics
- Updates account information
- Maintains historical data for trend analysis
7. Advanced Features
7.1. Post Synchronization
The module uses the X API v2 /users/{id}/tweets endpoint for reliable post synchronization:
- Smart filtering: Automatically excludes replies and retweets
- Media processing: Downloads and stores media attachments
- Text cleaning: Removes t.co URLs and normalizes content
- Batch processing: Efficient handling of large post volumes
7.2. Comment Hierarchy
Comments are organized in a hierarchical structure:
- Direct comments: Comments directly on your original post
- Nested replies: Replies to other comments, properly threaded
- Author resolution: Profile pictures and usernames from X API
- Media support: Images and videos in comments and replies
7.3. Error Handling
Robust error handling includes:
- Token refresh: Automatic handling of expired tokens
- Rate limiting: Respects X API rate limits
- Upload failures: Retry logic for failed media uploads
- Network issues: Graceful handling of connectivity problems
8. Troubleshooting
8.1. Common Issues
"Authorization code was invalid" error:
- Ensure your callback URL is correctly configured in X Developer Portal
- Check that your Odoo instance is publicly accessible
- Verify the Client ID and Client Secret are correct
"Failed to upload media" error:
- Check file size limits (5MB for images, 512MB for videos)
- Ensure file format is supported
- Try uploading smaller files or different formats
"Token refresh failed" error:
- Re-link your X account in Odoo
- Check that your X app has the correct permissions
- Ensure offline.access scope is included in your app configuration
8.2. Debug Information
Enable debug mode in Odoo to see detailed logs:
- Go to Settings > Developer Tools > Activate Developer Mode
- Check the server logs for detailed error messages
- Look for entries starting with "X API" or "d.x.service"
8.3. Support Resources
- X API Documentation: https://docs.x.com/x-api
- OAuth 2.0 Guide: https://docs.x.com/x-api/authentication/oauth-2-0
- Module Support: duongodooapps@gmail.com
9. Best Practices
9.1. Content Strategy
- Optimal posting times: Use Odoo's scheduling feature to post when your audience is most active
- Content variety: Mix text posts, images, and videos for better engagement
- Hashtag usage: Include relevant hashtags to increase discoverability
- Character optimization: Use the full 280 characters effectively
9.2. Engagement Management
- Timely responses: Reply to comments quickly to maintain engagement
- Professional tone: Maintain your brand voice in all interactions
- Media in replies: Use images and GIFs to make replies more engaging
- Monitor conversations: Regularly check the engagement dialog for new comments
9.3. Analytics Utilization
- Track performance: Monitor which types of content perform best
- Engagement rates: Calculate engagement rates to measure success
- Follower growth: Track follower growth over time
- Content optimization: Use insights to improve future posts
Conclusion
The d_social_x module provides a comprehensive solution for managing your X (Twitter) presence directly from Odoo Community Edition. With features like real-time comment management, advanced media upload, comprehensive analytics, and robust error handling, you can effectively manage your X marketing strategy without leaving your Odoo environment.
This comprehensive guide should help you successfully set up and use X integration with your Odoo Community Edition instance. For any additional questions or support, please don't hesitate to contact our support team.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module