Create Blacklist {#snippet content()}
{#if selectedTab === 'create'} Use HTTP agent workers only when the workers need to be deployed remotely OR with only HTTP connectivity OR in untrusted environments. HTTP agent workers have more latency and less capabilities than normal workers.
{#if !$enterpriseLicense}
Agent workers are only available in the enterprise edition. For evaluation purposes, you can only use the tag `agent_test` tag and it is limited to 100 jobs.
{/if}
{#if !$enterpriseLicense}
Agent workers are only available in the enterprise edition. For evaluation purposes, you can only use the tag `agent_test` tag and it is limited to 100 jobs.
{/if}
{ e.preventDefault() e.stopPropagation() if (token) { navigator.clipboard.writeText(token) sendUserToast('Copied to clipboard') } }} placeholder="Select tags to generate a JWT token" type="text" disabled value={token} class="w-full pr-10 pl-3 py-2 text-sm text-gray-600 bg-gray-50 border border-gray-300 rounded-lg cursor-pointer hover:bg-gray-100 transition truncatere" />
Set the following environment variables:
  • MODE=agent
  • AGENT_TOKEN=<token>
  • BASE_INTERNAL_URL=<base url>

to a worker to have it act as an HTTP agent worker. INIT_SCRIPT, if needed, must be passed as an env variable.

Ensure at least one normal worker is running and listening to the tags flow and dependency (or flow-<workspace> and dependency-<workspace> if using workspace-specific default tags), because agent workers cannot run dependency jobs nor execute the flow state machine. They can, however, run subjobs within flows.
Use the following API endpoint with a superadmin bearer token: POST /api/agent_workers/create_agent_token
	{`
	  "worker_group": "agent",
	  "tags": ["tag1", "tag2"],
	  "exp": 1717334400
	`}
									
The JSON response will contain the generated JWT token.
{:else if selectedTab === 'blacklist'}
{#if !$enterpriseLicense}
Token blacklist management is only available in the enterprise edition.
{:else}
Add tokens to the blacklist to prevent them from being used by agent workers. Blacklisted tokens may take up to 5 minutes to be effective because of caching.
{#if !$superadmin}
Only superadmins can manage the token blacklist.
{/if}

Blacklisted Tokens

{#if isLoadingBlacklist}
Loading blacklisted tokens...
{:else if blacklistedTokens?.length === 0}
No tokens are currently blacklisted.
{:else}
{#each blacklistedTokens ?? [] as blacklistedToken}
{blacklistedToken.token}
{#if blacklistedToken.expires_at}
Expires: {new Date(blacklistedToken.expires_at).toLocaleString()}
{/if}
{#if $superadmin} {/if}
{/each}
{/if}
{/if}
{/if}
{/snippet}