ICYMI: The New In-App Signals Migrator

Hey there, firefighters šŸ§‘ā€šŸš’ Here's everything that shipped in June!

šŸš€ In-App Signals Migrator: Bring Your On-Call Setup to FireHydrant in Minutes#in-app-signals-migrator-bring-your-on-call-setup-to-firehydrant-in-minutes

Migrating your on-call setup from PagerDuty or Opsgenie is now an entirely in-app, no-code experience. Connect your existing account and FireHydrant automatically surfaces your teams, schedules, escalation policies, and support hours. Then you choose what to bring over, all at once or team by team. Imported teams land in a staged migration state so you can review everything before anything goes live, while your existing on-call setup keeps running the whole time. When you're ready, activate and your team is live in Signals, available for incident assignment, Runbooks, and the rest of your FireHydrant workflow. Read more on our blog.

A note for Opsgenie customers: New Opsgenie purchases ended in June 2025, with data deletion scheduled for April 2027. The Signals Migrator is the lowest-risk path to move while you still have time to do it on your own timeline.

ā±ļø Configurable Conference Bridge Summary Interval#configurable-conference-bridge-summary-interval

You can now control how often FireHydrant generates AI summaries of your conference bridge calls. Previously fixed at every 5 minutes, the interval is now configurable per organization via the AI settings page (under Incident Summaries) or through the API. If your team prefers less frequent check-ins or needs a tighter cadence for fast-moving incidents, you can tune it to fit your workflow.

šŸ” Ticketing Sync Audit Events#ticketing-sync-audit-events

Ticket sync attempts across all your ticketing integrations (Jira, ServiceNow, Freshservice, and more) now publish audit events you can query through the FireHydrant audit events API. When a sync fails or succeeds, you'll have a trail to inspect, making it much easier to debug integration issues and answer "why didn't that Jira ticket update?"

šŸ’… Improvements#improvements

  • On-call calendar now displays org-forced timezones: Org-forced timezones in IANA format now render on the on-call calendar grid, with each shift's timezone shown in the popover.
  • Confirmation modal when declaring an incident from a resolved alert: If you start declaring an incident from an already-resolved alert, FireHydrant now surfaces a confirmation prompt explaining the incident will open resolved and runbooks won't attach, so you can decide before proceeding.
  • StatusPage pages can now be attached to Scheduled Maintenances: You can now associate your Atlassian StatusPage status pages with FireHydrant Scheduled Maintenance windows for more coordinated external communication.
  • Hide inactive incidents from public status pages: Status pages can now be configured to only surface active incidents, keeping your public-facing page clean and relevant.
  • Imported Jira follow-ups now linked to the parent incident ticket: When you import an existing Jira ticket as a follow-up via "Add follow-up from URL," it is now automatically linked to the primary Jira incident ticket created by your runbook step, matching the behavior that already existed for follow-ups created directly from FireHydrant.
  • Viewers can now declare incidents with default runbooks: If an Incident Type includes a default runbook, Viewer-role users who declare an incident of that type will now have the runbook attach successfully.
  • All incident severities are visible in app regardless of role: All severities are available for filters in the incidents ove rview table as well as the analytics, regardless of role permissions.
  • Terraform Signals migrator updates: PagerDuty schedule start times now preserved: For teams using the Terraform-based migration path, generated configs now pass virtual_start through unchanged, removing a workaround that compensated for an API limitation that no longer exists. Generated configs also now recommend terraform-provider-firehydrant >= 0.15.2.

šŸ› Bug Fixes#bug-fixes

  • Fixed Freshservice ticket creation for automation-triggered incidents: The "Create Freshservice Ticket" runbook step now works correctly on incidents triggered by automated sources like failed heartbeat alerts.
  • Blank "Allowed Senders" now correctly accepts all email: Leaving the Allowed Senders field empty on a Signals email target now works as documented, accepting email from any sender, and the field help text has been updated to make this clear.
  • Runbook "Last updated" timestamp no longer changes on step runs: The timestamp now only updates when the runbook definition itself is edited, not when it's attached to an incident or when steps are executed.
  • Fixed duplicate status page subscriber emails: Subscribers were sometimes receiving multiple notification emails for the same status page update. Deduplication now prevents this.
  • Fixed "Create Slack channel" runbook step showing false success: The step could show a green checkmark even when no Slack channel was actually created. It now fails with a clear error message.
  • Fixed repetitive Slack notifications for unclaimed on-call shifts: "Slack user group sync disabled" messages are now sent at most once per 24 hours per team channel, rather than firing every 5 minutes.
  • Fixed on-call Viewer users missing from Slack channel invites: Teams using PagerDuty or Opsgenie schedules had their currently on-call user excluded from Slack channel invites when that user held the Viewer role. They are now correctly included.
  • Fixed ServiceNow duplicate ticket feedback loop: A bug caused a single inbound ServiceNow webhook to trigger 10+ duplicate SNOW tickets in rapid succession. The root cause has been resolved.
  • Fixed Jira crash with transitional trigger field mappings: Jira ticket creation and sync were crashing when outbound field mappings used milestone-change, severity-change, or similar transitional triggers. These are now handled correctly.
  • Fixed Jira OnPrem Assets fields causing silent ticket failures: Insight/Assets object fields in Jira OnPrem are now flagged as unsupported for outbound field mapping, so you'll see a clear UI warning instead of a silent ticket creation failure.
  • Fixed "Assign a role" runbook step failing on scheduled maintenance incidents: The step failed when the assignee was the Incident opener and the incident was created from a scheduled maintenance window. This is now resolved.
  • Fixed internal status page 404 for multi-organization SSO users: Users accessing incidents in a non-default organization via SSO were hitting 404 errors on internal status pages. The route parameter alignment is now correct.
  • Fixed team creation failing when no MS Teams channel is selected: Creating or updating a team without selecting a Microsoft Teams channel no longer throws a "channel_id is required" error.
  • Fixed MS Teams runbook step reporting false errors: The "Create incident channel" step was falsely erroring after a channel was successfully created. It now correctly treats an existing channel as success.
  • Fixed MS Teams group chat minimal-member fallback: When a group chat is created with fewer members than intended, the runbook step now fails with a clear error instead of silently completing.
  • Fixed MTT chart color mismatch: Bar colors in the "Top impacted services" MTT chart now correctly match their legend swatches when a single-metric filter is applied.
  • Fixed 500 errors during rapid Terraform Signals resource updates: Creating and immediately updating a Signals resource (schedule, rotation, escalation policy, etc.) within ~1 second no longer returns a 500 error, most commonly seen during Terraform applies.
  • Terraform: start_time no longer dropped for weekly/daily on-call schedules: The firehydrant_on_call_schedule resource was silently discarding start_time for non-custom strategies. It now passes through correctly.

That's all for June! As always, if you have any questions or feedback, our team is here to help.

See FireHydrant in action

See how our end-to-end incident management platform can help your team respond to incidents faster and more effectively.