Command Palette
Search for a command to run...

Event-Based Automation

Trigger content generation automatically when events occur in your repositories

how-to · intermediate · 12m
s'applique à notra, github-account
par Dominik K. ·

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"  }}

Triggers when code is pushed to your default branch.

Event Actions:

  • pushed: Commits pushed to the default branch

Use Cases:

  • Generate content when deploying to production
  • Create updates for continuous deployment workflows
  • Track progress for investor updates

What Gets Analyzed:

  • Commit messages and authors
  • Files changed in the push
  • Timestamp range of commits
  • Related issues and pull requests
Info

Only pushes to your repository's default branch (usually main or master) trigger automation. Feature branch pushes are ignored.

{  "eventType": "push",  "eventAction": "pushed",  "data": {    "branch": "main",    "commitCount": 3,    "commitIds": ["abc123", "def456", "ghi789"],    "firstCommitTimestamp": "2026-03-02T10:00:00Z",    "lastCommitTimestamp": "2026-03-02T14:00: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, blog post, LinkedIn post, or Twitter post

6

Enable Trigger

Enable the trigger to start receiving webhooks

Note

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, pull requests, and releases 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:

Signature Verification

All webhooks are verified using HMAC SHA-256 signatures. Requests without valid signatures are rejected.

// Webhook signature verificationconst signature = request.headers.get("x-hub-signature-256");const isValid = verifySignature(payload, signature, webhookSecret);
Duplicate Detection

Webhook deliveries are deduplicated using delivery IDs stored in Redis. The same event won't trigger multiple generations.

Payload Sanitization

Event data is sanitized and validated before being passed to AI agents. This prevents injection attacks and ensures data integrity.

Repository Matching

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
Warning

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.

Investor Updates

Draft investor-focused blog posts or social updates when significant milestones are deployed.

Best Practices

Filter Strategically

Use specific event types to avoid generating content for every small change. For example, trigger on release.published for major announcements, not every push.

Test Before Enabling

Always test event triggers manually before enabling automatic generation to ensure output quality.

Combine with Scheduling

Use event-based automation for immediate announcements and scheduled automation for regular digests.

Monitor Webhook Health

Regularly check webhook logs to ensure events are being received and processed correctly.

Customize Brand Voice

Set specific custom instructions for event-based content to ensure the right tone for time-sensitive announcements.

Troubleshooting

Webhooks Not Received

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.

Content Not Generated

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
Rate Limiting

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

Ça a marché sur votre configuration ?

Pas encore évalué