Activity Summaries
Activity Summaries turn raw activity data into a concise, manager-oriented narrative. Instead of scrolling through commits, merge requests, issues, and meetings, you get an AI-written review of what someone (or a group) set out to achieve over a period, what was actually delivered, and what is still open — alongside how they collaborated and what patterns stand out.
There are two kinds:
- Individual summary — covers one teammate.
- Team summary — one combined summary across two or more teammates, with an emphasis on how they worked together and what shared goals they pursued.
Getting Started
Navigate to Summaries in the sidebar.
Before generating anything, make sure an LLM provider is configured for your organization (provider, model, and API key). See Configuring ActivityPulse for how to set this up. Without it, the Generate Summary button will return an error.
The page has two parts:
- A generator at the top — pick who and when, optionally add instructions, and generate.
- A list below — every summary generated for the current filter, newest first.
Choosing who and when
Use the teammate selector and time range in the page header to choose the subject and period of the summary:
- Select one teammate to generate an individual summary.
- Select two or more teammates — either by picking them individually or by selecting a whole team — to generate a team summary.
The Generate Summary button changes to Generate Team Summary when two or more teammates are selected, and the helper text confirms how many teammates will be included.
The summary covers exactly the teammates and date range shown in the header. Change the header filters and the generator follows.
Generating a Summary
- Choose the teammate(s) and time range in the header.
- Optionally type Instructions to steer the result — for example, “focus on code review contributions” or “highlight cross-team collaboration”. Instructions are appended to the prompt as-is.
- Click Generate Summary (or Generate Team Summary).
A new tab opens showing live progress for the generation job. You’ll see the job move from Queued → Running and, on completion, the page automatically navigates to the finished summary. The summary is also saved and appears in the list on the Summaries page.
Generation can take a few seconds to a minute depending on how much activity data there is and how busy the LLM provider is.
When the provider rate-limits you
LLM providers cap how many input tokens you can submit per minute (Anthropic, for instance, ships a 30,000 tokens/minute budget on the lowest paid tier). If a request would briefly exceed that ceiling, the progress page shows Provider rate-limited — retrying in Ns and waits the recommended interval before retrying. Up to three retries happen automatically.
If a single prompt is structurally too large for your tier (for example, generating one team summary covering many teammates over many days), the job fails fast with a “Prompt too large” message instead of looping on retries. Reduce the date range or split the team and try again.
You can configure your provider’s per-minute input-token budget in Settings → LLM under Input tokens per minute to match your tier exactly. Leaving it empty falls back to a 30,000-token-per-minute default.
What goes into a summary
A summary is built from the activity and context data already collected for each teammate over the selected period:
- Source control — commits, merge/pull requests, pushes/branches, builds (GitLab, GitHub, Azure DevOps).
- Issue tracking and docs — Jira issues, status changes, comments, worklogs, Confluence pages, Azure DevOps work items and wiki edits.
- Collaboration — meetings, calls, chats, and email activity (Microsoft 365).
- Context signals — calendar events, assigned issues, issue goal relationships, and time logged.
Not every data source is present for every teammate or period — the summary notes when data is sparse.
Goal-oriented sections
The default summary is structured around goals and outcomes, not just activity counts. With Jira data present, the prompt includes:
- Goal Progress — one row per top-level parent (initiative / goal) the teammate touched. Each row shows the goal’s status, how many issues under it were touched, how many of those were resolved during the period, and the total time logged toward that goal.
- Goal Contributions — the full issue → epic → initiative chain for every touched issue, with each level annotated by status (✓ completed, ⊘ cancelled, … in flight).
- Assigned Issues — three-column carry-over table (open at start · resolved during · open at end), followed by a one-line reconciliation footer (e.g.
Summary: 4 carried over from start · 2 resolved this period · 1 newly added · 5 open at end). - Assigned Merge Requests / Pull Requests — the merge and pull requests assigned to the teammate during the period. Still-open ones are listed first; anything the source reported as merged or closed is marked
(completed)rather than dropped, so work opened and finished inside the same period is not lost from the summary.
The generated summary uses these as primary evidence for a Goals & Outcomes section that names each goal, states its intended outcome, and assesses whether it was completed, advanced, stalled, or cancelled — instead of reporting raw volume of commits and meetings.
Team Summaries
A team summary gathers each selected teammate’s data and produces a single combined review in one pass. It is written to answer team-level questions:
- What shared goals was the team working toward, and were they achieved? The summary identifies shared goals from top-level parents that appear in multiple members’ Goal Progress and Goal Contributions tables. For each shared goal it states the intended outcome, the team’s collective progress (completed / advanced / stalled / cancelled), and the evidence.
- Who worked with whom? Code reviews between members, comments on each other’s issues, and shared meetings are called out as a collaboration map.
- Where did effort converge, and where was it siloed? The summary highlights whether the team pulled toward the same goals or worked largely in parallel.
- What is the team’s workload position? A team-level workload reconciliation tallies carry-over, resolved, and newly-added work across all members.
Each member also gets a short per-member highlights section, but the emphasis is on the team picture rather than individual scorecards.
Team summaries appear in the same list as individual ones, marked with a Team badge. The detail page lists every member covered.
The instructions the AI follows for team summaries come from a separate Team Summary Prompt template, which an administrator can customize on the LLM configuration page — independently of the individual Summary Prompt. See Configuring ActivityPulse.
A note on large teams
A team summary includes the full activity detail for every selected member, so very large teams can exceed the LLM prompt size limit. The shared Jira and merge-request reference tables are merged and deduplicated across members to save space, but if you hit the limit, generate the summary for a smaller group or a shorter time range.
Working with a Summary
Open any summary from the list to see the full detail page. From there you can:
- Download the summary as a PDF or Markdown file.
- Share the summary by email. Pick one or more attachment formats (HTML, PDF, Markdown), optionally autofill the recipient from your teammate list, and add a short note. See Email Configuration if email delivery is not yet set up.
- Delete the summary (requires an admin or owner role).
Every exported summary — PDF, HTML, or Markdown — ends with the AI-content disclaimer and a short attribution line naming ActivityPulse as the tool that produced the report, linking to the product site at activitypulse.dev. In the PDF the attribution appears in the page footer on every page.
The link always points to the product site. It is not a link to your own deployment and does not identify which instance produced the report.
The list on the Summaries page respects the header filters: selecting a teammate shows their individual summaries and any team summaries that include them.
Permissions and Access
- Viewers and above can generate, view, export, and share summaries.
- Admins and owners can delete summaries.
- Summaries respect team-based access control. You can only generate or open a summary if you have access to every teammate it covers — a team summary that includes someone outside your access scope is hidden from you.
Tips
- Match the time range to the question. A one-week range is good for a sprint retrospective; a quarter is better for a performance review.
- Use instructions to focus the output. The default prompt produces a broad review; instructions narrow it to what you care about right now.
- Generate team summaries from a saved team. Selecting a team in the header expands to all its members in one click — a fast way to get a consistent team review each iteration.
- Summaries are a snapshot. They reflect the data available at generation time. Regenerate after a new data sync if you need the latest picture.