Skip to main content
Event-based automation generates content in response to specific GitHub events like releases, pushes to production, or other repository activities. This enables real-time content creation that keeps your audience informed as changes happen.

How Event-Based Triggers Work

Notra receives webhooks from GitHub and processes them through intelligent workflows:
1

GitHub Event Occurs

A trigger event happens in your repository (release published, code pushed, etc.)
2

Webhook Received

GitHub sends a secure webhook to Notra with event details
3

Event Validation

Notra validates the webhook signature and filters based on your configuration
4

Content Generation

AI analyzes the event context and repository activity to generate relevant content
5

Ready to Publish

Generated content appears in your dashboard for review and publishing

Supported Event Types

Triggers when you publish a GitHub release.Event Actions:
  • published: A release is published (not a draft)
  • prereleased: A prerelease is published
Use Cases:
  • Generate changelogs for each release
  • Create LinkedIn announcements for major versions
  • Draft blog posts about new features
What Gets Analyzed:
  • Release notes and description
  • Tag name and version
  • Commits included in the release
  • Recent repository activity around the release time
{
  "eventType": "release",
  "eventAction": "published",
  "data": {
    "tagName": "v2.1.0",
    "name": "Version 2.1.0",
    "prerelease": false,
    "publishedAt": "2026-03-02T14:30:00Z"
  }
}

Configuring Event-Based Triggers

Set up event automation through the Notra dashboard:
1

Navigate to Automations

Go to your workspace settings and select the Automations tab
2

Create Event Trigger

Click “New Automation” and select “Event-Based”
3

Select Repositories

Choose which repositories should trigger this automation
4

Choose Event Types

Select which GitHub events should trigger content generation:
  • Release events (published/prereleased)
  • Push events (to default branch)
5

Configure Output

Select the content type to generate (changelog, LinkedIn post, blog post, etc.)
6

Enable Trigger

Enable the trigger to start receiving webhooks
GitHub webhooks are automatically configured when you connect a repository. No manual webhook setup required.

Content Generation Context

When an event triggers content generation, Notra analyzes:
  • Event Details: Type, action, and metadata from the GitHub webhook
  • Repository Activity: Commits, PRs, and issues around the event time
  • Time Window: Typically 1 hour before and after the event
  • Brand Voice: Your configured tone, audience, and custom instructions
The AI uses this context to generate relevant, accurate content that reflects what actually happened.
interface EventGenerationContext {
  eventType: "release" | "push";
  eventAction: string;
  eventData: Record<string, unknown>;
  repositoryOwner: string;
  repositoryName: string;
  organizationId: string;
  tone: ToneProfile;
  brand: {
    companyName?: string;
    companyDescription?: string;
    audience?: string;
    customInstructions?: string;
  };
}

Security & Validation

Notra ensures webhook security through multiple layers:
All webhooks are verified using HMAC SHA-256 signatures. Requests without valid signatures are rejected.
// Webhook signature verification
const signature = request.headers.get("x-hub-signature-256");
const isValid = verifySignature(payload, signature, webhookSecret);
Webhook deliveries are deduplicated using delivery IDs stored in Redis. The same event won’t trigger multiple generations.
Event data is sanitized and validated before being passed to AI agents. This prevents injection attacks and ensures data integrity.
Triggers only fire for events from repositories explicitly configured in your automation settings.

Testing Event Triggers

You can manually trigger any event-based automation to test output:
  1. Navigate to the automation in your dashboard
  2. Click “Run Now” to manually trigger the workflow
  3. The system simulates the event and generates content
  4. Review the generated content before enabling automatic triggering
Manual test runs use the current state of your repository. The generated content may differ from what would be created during an actual event.

Monitoring & Logs

View detailed logs for all webhook deliveries and automation runs:
  • Webhook Status: Success, failed, or filtered events
  • Delivery ID: GitHub’s unique identifier for each webhook
  • Event Details: Type, action, and payload summary
  • Generation Status: Success, rate-limited, or failed
  • Workflow Run ID: Unique identifier for tracking the automation execution
Logs are retained based on your subscription plan.

Common Use Cases

Release Announcements

Automatically generate LinkedIn posts when publishing releases to announce new features to your audience.

Production Changelogs

Create customer-facing changelogs when code is merged to your production branch.

Launch Marketing

Generate blog posts for major releases to support product launches.

Stakeholder Updates

Send investor updates when significant milestones are deployed.

Best Practices

Use specific event types to avoid generating content for every small change. For example, trigger on release.published for major announcements, not every push.
Always test event triggers manually before enabling automatic generation to ensure output quality.
Use event-based automation for immediate announcements and scheduled automation for regular digests.
Regularly check webhook logs to ensure events are being received and processed correctly.
Set specific custom instructions for event-based content to ensure the right tone for time-sensitive announcements.

Troubleshooting

Check:
  • Repository webhook is configured in GitHub settings
  • Webhook URL is correct in GitHub
  • Repository is connected in Notra
  • Network connectivity between GitHub and Notra
View webhook delivery attempts in your GitHub repository settings under Webhooks.
Check:
  • Event type matches your trigger configuration
  • Event action is supported (e.g., published for releases)
  • Repository is in your trigger’s target list
  • Trigger is enabled
  • Check automation logs for error messages
If GitHub API rate limits are hit, content generation is automatically retried after the rate limit resets. This is logged with status rate_limited.

Next Steps

Scheduled Automation

Learn about time-based content generation

Brand Voice Configuration

Customize how your content sounds

Build docs developers (and LLMs) love