storychief/statamic-storychief
Connect StoryChief to Statamic and publish articles straight into your CMS. This addon links StoryChief's editor to your Statamic collections, syncing content, authors, and metadata so marketing teams can create and publish without touching code or copying text by hand.
composer require storychief/statamic-storychief. Statamic addons are auto-discovered; no manual provider registration should be required.php artisan vendor:publish --tag=storychief-config (confirm the tag in the README). The config file is the first place to look — it typically holds the webhook secret, target collection, field mappings, asset container, and author assignment..env (e.g. STORYCHIEF_WEBHOOK_SECRET=...) and point StoryChief's webhook/channel at the route the addon registers (/storychief/webhook or similar — check routes/ in the package). On Laravel 11+, ensure that route is excluded from CSRF in bootstrap/app.php; on Laravel 10, add it to VerifyCsrfToken::$except.blog collection with fields you expect StoryChief to send (title, slug, content/bard, excerpt, featured image, SEO meta). Configure those handles in config/storychief.php, then use StoryChief's "test" publish to create a draft entry. Verify the entry, image, and SEO fields land correctly before wiring production channels.php artisan config:clear && php artisan stache:clear after config changes — Statamic will otherwise serve stale collection/blueprint definitions.storychief.channel), bind a custom controller or listen to the package's import event and mutate the entry before save.storychief_id) and look up the existing entry by that field before creating. Without this you get duplicates on every edit.htmlToBard(), or use a dedicated converter) rather than dumping HTML into a Markdown field. If you keep raw HTML, render with {!! $entry->content !!} inside a sanitized scope.draft/published flag in the payload rather than always publishing.site on the entry before save.ngrok/expose or StoryChief's manual "send test" to hit your local route. Wrap the payload in a feature test with Http::fake() and a signed request so regressions are caught in CI.EntrySaved (or a package-specific event) to trigger search indexing, CDN purges, or notifications after import.composer.json, review the source before deploying, and be prepared to fork. Check the actual release cadence against the repo rather than trusting the listed date.mews/purifier) and test a real post end-to-end; otherwise content is silently truncated during conversion.stache:warm in deploy scripts.200 immediately.vendor/; if you must, use a Composer patch plugin so it survives composer update.How can I help you explore Laravel packages today?