← All integrations

Integration · AWS Bedrock

AWS Bedrock Prompt Management

AWS Bedrock gives you access to foundation models. PromptForge gives you version control over the prompts that drive them, without adding infrastructure. Now with Claude Opus 4.6 support.

Integration Example

PromptForge + AWS Bedrock in one file

Version, template, and serve AWS Bedrock prompts via REST API. Manage system prompts for Bedrock's Claude, Llama, and Titan models in PromptForge, add a prompt governance layer without AWS infrastructure changes.

  1. 1
  2. Fetch your versioned, interpolated prompt from the PromptForge REST API with a single fetch() call.
  3. 2
  4. Pass the returned content string directly to the AWS Bedrock SDK as the system prompt, no transformation needed.
  5. 3
  6. Update the prompt in the PromptForge dashboard anytime, running applications pick up the change on the next request. No redeployment required.
integration.ts
TypeScript
import {
  BedrockRuntimeClient,
  ConverseCommand,
} from "@aws-sdk/client-bedrock-runtime";

// IAM credentials are loaded automatically from the environment
// (Lambda execution role, ECS task role, or ~/.aws/credentials)
const client = new BedrockRuntimeClient({ region: "us-east-1" });

async function fetchPrompt(industry: string, tone: string) {
  const res = await fetch(
    "https://www.promptforge-app.com/api/v1/prompts/your-prompt-id",
    {
      method: "POST",
      headers: {
        Authorization: "Bearer pfk_your_api_key",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        version: "latest",
        variables: { industry, tone },
      }),
    }
  );
  const { content } = await res.json();
  return content as string;
}

// Prompt template in PromptForge (e.g.):
//   You are a {{industry}} assistant. Use a {{tone}} tone.
// 1. Fetch the system prompt with dynamic variables
const content = await fetchPrompt("healthcare", "clinical");

// 2. Call Claude on Bedrock via the Converse API
//    The Converse API works with Claude, Llama, Titan, and more -
//    swap modelId without changing how you manage prompts
const command = new ConverseCommand({
  modelId: "anthropic.claude-opus-4-6",
  system: [{ text: content }],
  messages: [
    {
      role: "user",
      content: [{ text: "Summarise this patient intake form." }],
    },
  ],
});

const response = await client.send(command);
console.log(response.output?.message?.content?.[0]?.text);
How It Works

AWS Bedrock + PromptForge in Three Steps

Add a prompt management layer to your AWS Bedrock integration without refactoring your application.

Step 1

Store Bedrock system prompts in PromptForge

Bedrock's Converse API accepts a `system` array for foundation models like Claude and Llama. Write your system prompt in PromptForge with {{industry}}, {{tone}}, or {{compliance}} variables, update it without an AWS deployment or Lambda redeploy.

Step 2

Version across model and region changes

Bedrock model IDs encode versions (e.g. `anthropic.claude-3-5-sonnet-20241022-v2:0`). When AWS releases updated model versions, PromptForge lets you run your new prompt against the new model ID in staging and promote it to production when validated, separate from the model ID change itself.

Step 3

Fetch from Lambda or ECS, pass to Converse API

Store your PromptForge API key as an AWS Secrets Manager secret. Fetch it in your Lambda or ECS task alongside the prompt, then pass the returned text to the `system` parameter of `ConverseCommand`. Zero additional AWS infrastructure required.

Features

Powerful Prompt Management Features for AI Developers

From simple prompt storage to production-ready APIs with version control, dynamic variables, rollback, and a public gallery.

Dynamic Variables

Use {{variable}} syntax to create reusable prompt templates. Pass different values via API for endless customization across any LLM.

Instant Prompt API

RESTful API endpoint ready in seconds. Fetch any prompt with version pinning and variable interpolation. No redeployment needed.

Rollback with Diff Checker

View a line-by-line diff of every change and roll back to any previous version in one click. Never lose a working prompt again.

Publish to Gallery

Share your best prompts with the community in the public gallery. Get discovered by other developers and grow your personal library.

Start for free, upgrade anytime

No credit card required to get started. Paid plans include a 14-day free trial.

HobbyNo credit card
  • 1k API requests/month
  • 1 prompt
  • Unlimited versions
  • Dynamic variables
  • Version pinning
  • API key management
Start Managing My Prompts
Starter
14-day free trial
$9/month

No charge until your trial ends

  • 10k API requests/month
  • 5 prompt
  • Unlimited versions
  • Dynamic variables
  • Version pinning
  • API key management
Start 14-day Free Trial
Most Popular
Pro
14-day free trial
$29/month

No charge until your trial ends

  • 100k API requests/month
  • 25 prompt
  • Unlimited versions
  • Dynamic variables
  • Version pinning
  • API key management
Start 14-day Free Trial
Business
14-day free trial
$49/month

No charge until your trial ends

  • 500k API requests/month
  • 100 prompt
  • Unlimited versions
  • Dynamic variables
  • Version pinning
  • API key management
Start 14-day Free Trial

Questions? Contact us

FAQ

AWS Bedrock + PromptForge: Common Questions

Specific answers for developers integrating PromptForge with AWS Bedrock.

How do I authenticate the PromptForge API call in an AWS Lambda environment?

Store your PromptForge API key in AWS Secrets Manager or as an encrypted Lambda environment variable. Retrieve it at cold start time and cache it in the Lambda execution context for reuse across warm invocations. The PromptForge API uses Bearer token authentication (`Authorization: Bearer pfk_your_api_key`), a standard HTTP header that requires no AWS-specific signing. Only the Bedrock API call uses AWS Signature Version 4 signing, which the `@aws-sdk/client-bedrock-runtime` handles automatically from the Lambda execution role.

Can I use PromptForge with Amazon Bedrock's Converse API across all models?

Yes. The Bedrock Converse API provides a unified interface for Claude, Llama 3, Mistral, Amazon Titan, and other supported models. PromptForge returns a plain text string for the `system` parameter, which maps directly to `system: [{ text: content }]` in the ConverseCommand input. Switching between model IDs (e.g. from Claude to Llama) only requires changing the `modelId` string in your code, your PromptForge prompt management layer stays identical.

Does PromptForge work with Bedrock's Guardrails feature?

Yes. Bedrock Guardrails are applied at the API level by adding a `guardrailConfig` to your `ConverseCommand` input, they operate independently of the system prompt. PromptForge manages the system prompt text that shapes model behaviour before Guardrails apply. If your Guardrail configuration requires specific instructional alignment in the system prompt (for example, instructions that mirror your topic-denial rules), store and version that alignment text in PromptForge so it can be updated centrally.

How do I use PromptForge in an AWS VPC without direct internet access?

Add a NAT Gateway or VPC endpoint for HTTP traffic to allow your Lambda or ECS tasks to reach `api.promptforge-app.com`. Alternatively, use an AWS Lambda extension or a sidecar container to pre-fetch and cache PromptForge prompts on a scheduled basis (e.g. every 5 minutes), writing them to an S3 bucket or ElastiCache your functions can read without direct internet access. The static export approach, pre-generating prompt values and storing them in S3, works well for high-security environments where per-request outbound calls are restricted.