Event-Based Automation
Trigger content generation automatically when events occur in your repositories
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:
GitHub Event Occurs
A trigger event happens in your repository (release published, code pushed, etc.)
Webhook Received
GitHub sends a secure webhook to Notra with event details
Event Validation
Notra validates the webhook signature and filters based on your configuration
Content Generation
AI analyzes the event context and repository activity to generate relevant content
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
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:
Navigate to Automations
Go to your workspace settings and select the Automations tab
Create Event Trigger
Click "New Automation" and select "Event-Based"
Select Repositories
Choose which repositories should trigger this automation
Choose Event Types
Select which GitHub events should trigger content generation:
- Release events (published/prereleased)
- Push events (to default branch)
Configure Output
Select the content type to generate: changelog, blog post, LinkedIn post, or Twitter post
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, 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:
- Navigate to the automation in your dashboard
- Click "Run Now" to manually trigger the workflow
- The system simulates the event and generates content
- 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
Automatically generate LinkedIn posts when publishing releases to announce new features to your audience.
Create customer-facing changelogs when code is merged to your production branch.
Generate blog posts for major releases to support product launches.
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.,
publishedfor 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
Learn about time-based content generation
Customize how your content sounds
Hat das auf deinem Setup funktioniert?
Noch nicht bewertet