Actstream
Activity Stream aggregates your web activity from external services into native Drupal content entities. Each item is stored as an entity and displayed as an "Actor VERB Object" statement, leveraging Drupal's entity API for greater control and integration.
Activity Stream aggregates your web activity from external services (RSS/Atom feeds, social networks, and any service you wire up) into native Drupal content entities.
Each incoming item becomes an actstream_item entity and is displayed as an activity statement of the form Actor VERB Object.
Unlike the original activitystream module which stored items as nodes, this module uses Drupal's entity API directly, giving you fine-grained access control, entity queries, and Views integration out of the box.
Sub-modules
Content sources — enable the ones you need:
- actstream_feed — RSS/Atom ingestion via SimplePie
- actstream_flickr — public Flickr photos via the Flickr API v2 (requires
composer require samwilson/phpflickr:^5) - actstream_lastfm — recent tracks via the Last.fm API v2
- actstream_twitter — recent X (Twitter) posts via the X API v2 app-only Bearer token (requires paid Basic tier)
- actstream_facebook_page — posts from a Facebook Page via the Graph API
- actstream_twitter_search — hashtag search on X (Twitter) via the v2 recent search endpoint (requires paid Basic tier)
- actstream_instagram_search — hashtag search on Instagram via the Graph API (requires a business or creator account)
- actstream_feed_search — filters items from configured RSS/Atom feeds by hashtag
Display and workflow:
- actstream_event — defines events that drive hashtag-based aggregation for the social wall
- actstream_wall — renders a live-updating social wall block and page; configurable refresh interval and items per page
- actstream_mod_queue — admin moderation queue to approve or delete pending items before they go public
Drush commands
drush actstream:fetch [uid] # Trigger a fetch cycle for one user or all drush actstream:clear [uid] # Delete items for one user or all
Developer API
Any module can register a new service via hook_actstream_services()hook_actstream_{HOOK}_items_fetch().
See actstream.api.php for the full documented API.
Requires Drupal 10.3+ or 11 or 12, PHP 8.1+.