Skip to content

Public Actions

This page is generated from public package documentation in capell-4/packages and the package manifest checked into the source repository.

FieldValue
Composer packagecapell-app/public-actions
Package slugpublic-actions
Product groupCapell Automation
Tierpremium
Bundleautomation
Runtime contextsadmin, frontend, console
Capell version^4.0
Source repositorycapell-app/packages
Source pathpackages/public-actions
Docs sourcepackages/public-actions/docs
Manifestcapell.json

Reusable public submit actions, outbound automation dispatch, and integration endpoints for Capell CMS.

  • Package: capell-app/public-actions
  • Namespace: Capell\PublicActions\
  • Surfaces: Filament admin, HTTP, queue, database
  • Service providers: packages/public-actions/src/Providers/PublicActionsServiceProvider.php
  • Capell dependencies: capell-app/admin, capell-app/core, capell-app/frontend
  • Third-party dependencies: laravel/framework, lorisleiva/laravel-actions
  • Lets public submissions run configured server-side actions and outbound automations without exposing unsafe admin endpoints.
  • Helps owners connect forms, access requests, and automation tools while keeping validation and dispatch in trusted code.
  • Gives developers handler and adapter surfaces for Zapier-style integrations, webhooks, and package-owned submit actions.
  • Reusable public submit actions, outbound automation dispatch, and integration endpoints for Capell CMS.
  • Admin resources: PublicActionDestinationResource, PublicActionDispatchAttemptResource, PublicActionIntegrationTokenResource, PublicActionResource, PublicActionSubmissionResource.
  • Zapier-facing endpoints for listing and submitting configured public actions.
AreaPathPurpose
Actionspackages/public-actions/src/ActionsDomain operations. Test these directly where possible.
Datapackages/public-actions/src/DataStructured payloads, form state, view models, and integration data.
Enumspackages/public-actions/src/EnumsPersisted states and Filament option values.
Modelspackages/public-actions/src/ModelsEloquent records owned by the package.
Filamentpackages/public-actions/src/FilamentAdmin resources, pages, widgets, and settings UI.
HTTPpackages/public-actions/src/HttpControllers, middleware, and request handling.
Jobspackages/public-actions/src/JobsQueued work and async side effects.
Providerspackages/public-actions/src/ProvidersRegistration, extension hooks, routes, migrations, and resources.
Resourcespackages/public-actions/resourcesViews, translations, assets, and package resources.
Routespackages/public-actions/routesRoute files loaded by the service provider.
Configpackages/public-actions/configPackage configuration and publishable config.
Databasepackages/public-actions/databaseMigrations, seeders, and settings migrations.
Testspackages/public-actions/testsPackage-level Pest coverage.
  • Resources: PublicActionDestinationResource, PublicActionDispatchAttemptResource, PublicActionIntegrationTokenResource, PublicActionResource, PublicActionSubmissionResource.
  • Pages: CreatePublicAction, CreatePublicActionDestination, EditPublicAction, EditPublicActionDestination, ListPublicActionDestinations, ListPublicActionDispatchAttempts, ListPublicActionIntegrationTokens, ListPublicActionSubmissions, ListPublicActions.
  • Controllers: ListZapierPublicActionSubmissionsController, ListZapierPublicActionsController, ShowPublicActionController, ShowZapierAccountController, SubmitPublicActionController, SubmitZapierPublicActionController.
  • Routes: packages/public-actions/routes/web.php.
  • Jobs: DispatchPublicActionDestinationJob.
  • Models: PublicAction, PublicActionDestination, PublicActionDispatchAttempt, PublicActionIntegrationToken, PublicActionSubmission.
  • Migrations: 2026_05_10_190865_01_create_public_actions_table.php, 2026_05_10_190865_02_create_public_action_destinations_table.php, 2026_05_10_190865_03_create_public_action_submissions_table.php, 2026_05_10_190865_04_create_public_action_dispatch_attempts_table.php, 2026_05_10_190865_05_create_public_action_integration_tokens_table.php.
  • Config: packages/public-actions/config/capell-public-actions.php.
  • Data objects live in src/Data/; use them for payloads, form state, and view models.
  • Contracts: PublicActionDestinationAdapter, PublicActionHandler.
  • Listeners: SubmitPublicActionFromFormSubmission.
  • Register Capell extension points, routes, migrations, settings, render hooks, and resources from service providers.
  • Install with composer require capell-app/public-actions in the host Capell application.
  • Run migrations through the host application package install flow.
  • In this repository, verify package changes with vendor/bin/pest; do not use php artisan.

Run package tests from the repository root:

Terminal window
vendor/bin/pest packages/public-actions/tests --configuration=phpunit.xml
  • Treat public routes as untrusted input and keep validation, permission checks, and side effects inside actions or dedicated services.
  • Put behaviour changes in src/Actions/; UI classes, commands, and controllers should call actions instead of owning domain logic.
  • Use package Data classes at boundaries instead of passing anonymous arrays between layers.
  • Use backed enums for persisted values and enum labels for Filament options.