Skip to content

Public Actions

This page is generated from package source documentation in the Capell packages repository and the checked-in manifest. Source documentation is not distribution status. Before running a Composer command, verify that the exact package and compatible 1.x release are available through public Packagist or the authenticated marketplace account.

Field Value
Composer package capell-app/public-actions
Package slug public-actions
Product group Capell Automation
Tier premium
Bundle automation
Runtime contexts admin, frontend, console
Capell version ^1.0
Catalogue role extension
Release channel Labs
Source repository capell-app/packages
Source path packages/public-actions
Docs source packages/public-actions/docs
Manifest capell.json

Public Actions is an Available, Schema-owning Capell package in the Capell Automation product group. It ships as capell-app/public-actions and extends these surfaces: admin, frontend, console.

Public Actions exposes approved Capell operations to authenticated integrations and records submissions, destination attempts, tokens, and privacy data.

Admins manage action definitions, destinations, integration tokens, and submission history. External clients can submit only actions allowed by their token and the configured protection rules.

Evidence: src/Actions/SubmitPublicActionAction.php, src/Actions/CreatePublicActionIntegrationTokenAction.php, routes/web.php, tests/Feature/PublicActionSubmitTest.php, tests/Unit/Filament/PublicActionsNavigationTest.php, tests/Feature/Filament/PublicActionResourceAuthorizationTest.php, src/Actions/ResolvePublicActionForIntegrationTokenAction.php, tests/Feature/PublicActionZapierApiTest.php.

Status details:

  • Status: Available
  • Tier: premium
  • Bundle: automation
  • Composer package: capell-app/public-actions
  • Namespace: Capell\PublicActions
  • Theme key: not applicable

For developers: Handler, destination, and spam-protection registries provide extension points without coupling integrations to package internals.

For teams: Teams can connect approved external tools to a controlled set of actions and inspect what was submitted, dispatched, or replayed.

Evidence: src/Support/PublicActionHandlerRegistry.php, src/Support/PublicActionDestinationAdapterRegistry.php, src/Support/PublicActionSpamProtectionAdapterRegistry.php, tests/Unit/Support/PublicActionRegistryTest.php, src/Actions/DispatchPublicActionDestinationAction.php, src/Actions/ReplayPublicActionDispatchAttemptAction.php, src/Jobs/DispatchPublicActionDestinationJob.php.

Screenshot contract: docs/screenshots.json.

Public Actions admin index

Public Action create/edit form

  • Public Actions admin index (admin, required).
  • Public Action create/edit form (admin, required).
  • Public Action destinations (admin, required).
  • Public Action submissions (admin, required).
  • Public Action dispatch attempts (admin, required).
  • Public Action integration tokens (admin, required).
  • Public Action frontend form (frontend, required).
  • Zapier action discovery API (frontend, required).
  • Service providers: Capell\PublicActions\Providers\PublicActionsServiceProvider.
  • Config files: packages/public-actions/config/capell-public-actions.php.
  • Migrations: packages/public-actions/database/migrations/2026_05_10_190865_01_create_public_actions_table.php, packages/public-actions/database/migrations/2026_05_10_190865_02_create_public_action_destinations_table.php, packages/public-actions/database/migrations/2026_05_10_190865_03_create_public_action_submissions_table.php, packages/public-actions/database/migrations/2026_05_10_190865_04_create_public_action_dispatch_attempts_table.php, packages/public-actions/database/migrations/2026_05_10_190865_05_create_public_action_integration_tokens_table.php, packages/public-actions/database/migrations/2026_05_28_000002_add_idempotency_keys_to_public_action_submissions_table.php, packages/public-actions/database/migrations/2026_07_12_000001_add_encrypted_trusted_submission_secrets_to_public_actions.php.
  • Models: PublicAction, PublicActionDestination, PublicActionDispatchAttempt, PublicActionIntegrationToken, PublicActionSubmission.
  • Filament classes: PublicActionFilamentOptions, CreatePublicActionDestination, EditPublicActionDestination, ListPublicActionDestinations, PublicActionDestinationResource, ListPublicActionDispatchAttempts, PublicActionDispatchAttemptResource, ListPublicActionIntegrationTokens, PublicActionIntegrationTokenResource, CreatePublicAction, EditPublicAction, ListPublicActions, and 3 more.
  • Route files: packages/public-actions/routes/web.php.
  • Policies: AbstractPublicActionResourcePolicy, PublicActionDestinationPolicy, PublicActionDispatchAttemptPolicy, PublicActionIntegrationTokenPolicy, PublicActionPolicy, PublicActionSubmissionPolicy.
  • Extension contracts: PublicActionDestinationAdapter, PublicActionHandler, PublicActionSpamProtectionAdapter, PublicActionWebhookHostResolver.
  • Listeners: SubmitPublicActionFromFormSubmission.
  • Actions: BuildPublicActionIntegrationQueryAction, BuildPublicActionPrivacyExportAction, BuildZapierSubmissionPayloadAction, CreatePublicActionIntegrationTokenAction, DispatchPublicActionDestinationAction, ErasePublicActionPrivacyDataAction, ListPublicActionOptionsAction, PrunePublicActionSubmissionsAction, ReplayPublicActionDispatchAttemptAction, ResolvePublicActionForIntegrationTokenAction, ResolvePublicActionIntegrationTokenAction, ResolvePublicActionPrivacyRecordIdsAction, and 3 more.
  • Data objects: PublicActionDispatchResultData, PublicActionIntegrationTokenData, PublicActionMetadataData, PublicActionPayloadData, PublicActionPrivacyRecordIdsData, PublicActionProviderPresetData, PublicActionResultData, PublicActionRetentionPruneResultData, PublicActionSpamProtectionResultData, PublicActionSubmissionData, PublicActionZapierSubmissionData, ResolvedWebhookEndpointData.
  • Jobs: DispatchPublicActionDestinationJob.
  • Command signatures: capell:public-actions:prune-submissions.
  • Console command classes: PrunePublicActionSubmissionsCommand.
  • Manifest contributions: admin-resource: Capell\PublicActions\Manifest\PublicActionsAdminResourcesContribution, console-command: Capell\PublicActions\Manifest\PublicActionsConsoleCommandsContribution, health-check: Capell\PublicActions\Manifest\PublicActionsHealthContribution, model: Capell\PublicActions\Manifest\PublicActionsModelsContribution, route: Capell\PublicActions\Manifest\PublicActionsRoutesContribution.
  • Health checks: Capell\PublicActions\Health\PublicActionsHealthCheck.
  • Blade views: packages/public-actions/resources/views/action.blade.php, packages/public-actions/resources/views/components/action-button.blade.php.
  • Cache tags: public-actions.
  • Required tables: public_actions, public_action_destinations, public_action_submissions, public_action_dispatch_attempts, public_action_integration_tokens.
  • Protected tables: public_actions, public_action_destinations, public_action_submissions, public_action_dispatch_attempts, public_action_integration_tokens.
  • Models: PublicAction, PublicActionDestination, PublicActionDispatchAttempt, PublicActionIntegrationToken, PublicActionSubmission.
  • Core record references in migrations: sites via site_id.
  • Migration files: 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, 2026_05_28_000002_add_idempotency_keys_to_public_action_submissions_table.php, 2026_07_12_000001_add_encrypted_trusted_submission_secrets_to_public_actions.php.
  • Migration impact: run host migrations through the package install flow before opening package surfaces.
  • Deletion/retention behaviour: migrations declare cascade-on-delete relationships and null-on-delete relationships; no timed pruning or retention schedule is declared in capell.json.
  • Required packages: capell-app/admin, capell-app/core, capell-app/frontend.
  • Admin navigation: declares admin-resource: PublicActionsAdminResourcesContribution; each Filament page or resource controls its own navigation visibility.
  • Admin/editor extensions: none declared.
  • Permissions: none declared in capell.json.
  • Public routes: loads routes/web.php; registers PublicActionsRoutesContribution.
  • Database changes: package migrations are declared.
  • Config: config/capell-public-actions.php.
  • Settings: no package settings declared.
  • Queues or schedules: queue jobs DispatchPublicActionDestinationJob.
  • Cache tags: public-actions.
  • Commands: capell:public-actions:prune-submissions.
  • Keep required Capell packages on compatible v4 releases: capell-app/admin, capell-app/core, capell-app/frontend.
  • Run migrations before opening package resources or public routes.
  • Review package configuration before production-like verification: config/capell-public-actions.php.
  • Review middleware, throttling, signatures, and public-output safety in routes/web.php before exposing routes.
  • Keep public Blade and cached HTML free of authoring markers, model IDs, permissions, signed editor URLs, and lazy database queries.
  • Custom write integrations must preserve invalidation for public-actions cache tags.
Symptom Likely cause Check Fix
Package surface is missing after install Provider or manifest is not loaded Confirm capell.json, package composer.json, and provider registration Reinstall the package, refresh Composer autoload, and clear host caches
Admin screen or command fails on missing table Package migrations have not run Check the tables listed in Data Model Run host migrations and rerun the focused package test
Route returns unexpected output Route cache, middleware, or signed URL setup does not match the package route file Check the route files listed in Technical Shape Clear route cache and verify middleware before exposing public routes
Background work does not run Queue worker or declared schedule is not active Check the jobs and scheduled commands listed in Technical Shape Start the queue worker or host scheduler, then run the focused command or package test
Public output leaks unexpected state Render data, cache variation, or authoring boundary has regressed Check public Blade, cache tags, and public-output safety tests Move data loading out of Blade and rerun the package public-output tests
  1. Install the package: composer require capell-app/public-actions.
  2. Run the required setup: php artisan migrate.
  3. Open the Public Actions admin index and confirm the admin workflow loads.