GitScrum / Docs
All Best Practices

GitScrum Integrations | GitHub, Slack, Zapier & API

Connect GitScrum with GitHub, GitLab, Slack, Teams, Google Calendar, and Zapier. Build custom integrations via REST API and webhooks. Eliminate context switching.

6 min read

Modern development teams use many toolsβ€”GitHub, Slack, calendar apps, CI/CD systems, and more. GitScrum integrations connect these tools so information flows automatically, reducing context switching and keeping everything in sync.

Integration Categories

CategoryIntegrationsPurpose
Source ControlGitHub, GitLab, BitbucketCode ↔ Tasks
CommunicationSlack, Teams, EmailNotifications
CalendarGoogle, OutlookDue dates, meetings
AutomationZapier, WebhooksCustom workflows
CI/CDGitHub Actions, JenkinsBuild status

Core Integrations

GitHub Integration

GITHUB INTEGRATION
══════════════════

FEATURES:
β”œβ”€β”€ Link commits to tasks
β”œβ”€β”€ Auto-update on PR merge
β”œβ”€β”€ Branch creation from tasks
β”œβ”€β”€ Build status visibility
└── PR review tracking

SETUP:
1. Settings β†’ Integrations β†’ GitHub
2. Click "Connect GitHub"
3. Authorize GitScrum App
4. Select repositories
5. Map to projects

CONFIGURATION:
β”œβ”€β”€ Task ID pattern: GS-[0-9]+
β”œβ”€β”€ Auto-transition on merge: βœ“
β”œβ”€β”€ Show commits on task: βœ“
β”œβ”€β”€ Create branches: βœ“
└── Sync PR comments: Optional

Slack Integration

SLACK INTEGRATION
═════════════════

FEATURES:
β”œβ”€β”€ Task notifications to channels
β”œβ”€β”€ Create tasks from Slack
β”œβ”€β”€ Daily/weekly digests
β”œβ”€β”€ Mention alerts
└── Slash commands

SETUP:
1. Settings β†’ Integrations β†’ Slack
2. Click "Add to Slack"
3. Authorize permissions
4. Select workspace
5. Configure channels

CHANNEL MAPPING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Project/Event        β”‚  Slack Channel         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Website Project      β”‚  #website-dev          β”‚
β”‚  Critical Bugs        β”‚  #alerts               β”‚
β”‚  Sprint Updates       β”‚  #team-standups        β”‚
β”‚  All Comments         β”‚  (Disabled)            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

SLASH COMMANDS:
β”œβ”€β”€ /gs create [task name] - Create task
β”œβ”€β”€ /gs search [query] - Find tasks
β”œβ”€β”€ /gs my - My open tasks
└── /gs sprint - Sprint summary

Calendar Integration

CALENDAR INTEGRATION
════════════════════

FEATURES:
β”œβ”€β”€ Due dates as calendar events
β”œβ”€β”€ Sprint dates sync
β”œβ”€β”€ Meeting tasks sync
β”œβ”€β”€ Availability view
└── Reminder events

GOOGLE CALENDAR SETUP:
1. Settings β†’ Integrations β†’ Google Calendar
2. Connect Google account
3. Select calendars
4. Configure sync options

SYNC OPTIONS:
β”œβ”€β”€ Due dates β†’ Calendar events: βœ“
β”œβ”€β”€ Sprints β†’ Calendar blocks: βœ“
β”œβ”€β”€ Only assigned tasks: βœ“
β”œβ”€β”€ Include subtasks: βœ—
└── Reminder before due: 1 day

CALENDAR VIEW:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  March 2024                                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Mon 18 β”‚ GS-123: API Review due               β”‚
β”‚  Wed 20 β”‚ Sprint 15 ends                       β”‚
β”‚  Thu 21 β”‚ Sprint 16 begins                     β”‚
β”‚  Fri 22 β”‚ GS-456: Deploy v2.1                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Automation Integrations

Zapier Integration

ZAPIER INTEGRATION
══════════════════

TRIGGERS (GitScrum β†’ Other):
β”œβ”€β”€ Task created
β”œβ”€β”€ Task status changed
β”œβ”€β”€ Task assigned
β”œβ”€β”€ Comment added
β”œβ”€β”€ Sprint started/ended
└── Due date approaching

ACTIONS (Other β†’ GitScrum):
β”œβ”€β”€ Create task
β”œβ”€β”€ Update task
β”œβ”€β”€ Add comment
β”œβ”€β”€ Assign task
β”œβ”€β”€ Add label
└── Create project

EXAMPLE ZAPS:
─────────────────────────────────────
ZAP 1: Customer Support β†’ Dev
Trigger: New Zendesk ticket (bug)
Action: Create GitScrum task
Map: Priority, description, link

ZAP 2: Task β†’ CRM
Trigger: Task completed (label:client)
Action: Update HubSpot deal stage

ZAP 3: Form β†’ Task
Trigger: Typeform submission
Action: Create GitScrum task
Include: Form responses
─────────────────────────────────────

Webhooks

WEBHOOK CONFIGURATION
═════════════════════

OUTGOING WEBHOOKS (GitScrum β†’ Your Server):

Event: Task status changed
URL: https://your-server.com/webhook
Method: POST
Headers:
β”œβ”€β”€ Content-Type: application/json
β”œβ”€β”€ X-GitScrum-Signature: [hmac]
└── Authorization: Bearer [token]

Payload:
{
  "event": "task.status_changed",
  "task": {
    "id": "GS-123",
    "title": "Task name",
    "status": "done",
    "previous_status": "in_review"
  },
  "actor": {
    "id": "user_456",
    "name": "John Doe"
  },
  "timestamp": "2024-03-15T10:30:00Z"
}

INCOMING WEBHOOKS (External β†’ GitScrum):
URL: https://api.gitscrum.com/webhook/abc123
Use: Create tasks, update status via API

API Access

API INTEGRATION
═══════════════

AUTHENTICATION:
β”œβ”€β”€ Personal Access Tokens
β”œβ”€β”€ OAuth 2.0 for apps
└── API Keys for services

ENDPOINTS:
β”œβ”€β”€ GET /api/v1/tasks
β”œβ”€β”€ POST /api/v1/tasks
β”œβ”€β”€ PUT /api/v1/tasks/{id}
β”œβ”€β”€ GET /api/v1/projects
β”œβ”€β”€ GET /api/v1/sprints
└── POST /api/v1/comments

RATE LIMITS:
β”œβ”€β”€ 100 requests/minute (standard)
β”œβ”€β”€ 1000 requests/minute (enterprise)
└── Burst: 10 requests/second

EXAMPLE:
curl -X POST https://api.gitscrum.com/v1/tasks \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "New task", "project_id": "proj_123"}'

Integration Management

Dashboard

INTEGRATION DASHBOARD
═════════════════════

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Connected Integrations                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                         β”‚
β”‚  GitHub              βœ“ Connected                       β”‚
β”‚  β”œβ”€β”€ 5 repositories                                    β”‚
β”‚  β”œβ”€β”€ Last sync: 2 min ago                             β”‚
β”‚  └── [Configure] [Disconnect]                          β”‚
β”‚                                                         β”‚
β”‚  Slack               βœ“ Connected                       β”‚
β”‚  β”œβ”€β”€ 3 channels configured                            β”‚
β”‚  β”œβ”€β”€ 247 notifications today                          β”‚
β”‚  └── [Configure] [Disconnect]                          β”‚
β”‚                                                         β”‚
β”‚  Google Calendar     βœ“ Connected                       β”‚
β”‚  β”œβ”€β”€ 2 calendars synced                               β”‚
β”‚  β”œβ”€β”€ 12 events synced                                 β”‚
β”‚  └── [Configure] [Disconnect]                          β”‚
β”‚                                                         β”‚
β”‚  Zapier              βœ“ Connected                       β”‚
β”‚  β”œβ”€β”€ 4 active zaps                                    β”‚
β”‚  └── [View in Zapier]                                  β”‚
β”‚                                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  [+ Add Integration]                                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Troubleshooting

INTEGRATION HEALTH
══════════════════

COMMON ISSUES:
β”œβ”€β”€ Token expired β†’ Reauthorize
β”œβ”€β”€ Rate limited β†’ Check usage
β”œβ”€β”€ Webhook failed β†’ Check endpoint
β”œβ”€β”€ Sync delayed β†’ Check status
└── Missing data β†’ Verify mapping

LOGS:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Integration Logs (last 24h)                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  10:30 βœ“ GitHub: PR #234 synced to GS-123             β”‚
β”‚  10:28 βœ“ Slack: Notification sent to #dev             β”‚
β”‚  10:25 βœ— Webhook: Connection timeout (retrying)       β”‚
β”‚  10:20 βœ“ Calendar: 3 events synced                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Best Practices

For Integrations

  • Start essential β€” GitHub + Slack first
  • Map thoughtfully β€” Right channels for right events
  • Don't over-notify β€” Filter to important events
  • Monitor health β€” Check integration status
  • Secure tokens β€” Rotate regularly
  • Anti-Patterns

    INTEGRATION MISTAKES:
    βœ— Too many notifications
    βœ— Not testing webhook endpoints
    βœ— Ignoring failed syncs
    βœ— Exposing API tokens
    βœ— Complex Zapier chains
    βœ— No integration documentation
    

    Related Solutions