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.)
Content Generation
AI analyzes the event context and repository activity to generate relevant content
Supported Event Types
- Release
- Push
Triggers when you publish a GitHub release.Event Actions:
published: A release is published (not a draft)prereleased: A prerelease is published
- Generate changelogs for each release
- Create LinkedIn announcements for major versions
- Draft blog posts about new features
- Release notes and description
- Tag name and version
- Commits included in the release
- Recent repository activity around the release time
Configuring Event-Based Triggers
Set up event automation through the Notra dashboard:Choose Event Types
Select which GitHub events should trigger content generation:
- Release events (published/prereleased)
- Push events (to default branch)
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
Security & Validation
Notra ensures webhook security through multiple layers:Signature Verification
Signature Verification
All webhooks are verified using HMAC SHA-256 signatures. Requests without valid signatures are rejected.
Duplicate Detection
Duplicate Detection
Webhook deliveries are deduplicated using delivery IDs stored in Redis. The same event won’t trigger multiple generations.
Payload Sanitization
Payload Sanitization
Event data is sanitized and validated before being passed to AI agents. This prevents injection attacks and ensures data integrity.
Repository Matching
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
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
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
Filter Strategically
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
Test Before Enabling
Always test event triggers manually before enabling automatic generation to ensure output quality.
Combine with Scheduling
Combine with Scheduling
Use event-based automation for immediate announcements and scheduled automation for regular digests.
Monitor Webhook Health
Monitor Webhook Health
Regularly check webhook logs to ensure events are being received and processed correctly.
Customize Brand Voice
Customize Brand Voice
Set specific custom instructions for event-based content to ensure the right tone for time-sensitive announcements.
Troubleshooting
Webhooks Not Received
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
Content Not Generated
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
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