Skip to main content

GroupTrack API Use Cases

Key APIs​

  • Authentication: All requests require authentication via Bearer Token, query parameter (api-key), or an API key header (gt-api-key, or x-gt-api-key). See Authentication Guide for details.
  • Rate Limiting: Be aware of rate limits (429 responses include retry_after and reset_time). See the Rate Limit Guide for more details.
  • Filtering: Use query parameters like filter[emailAddress]=…, filter[GTID]=…, filter[tagID]=… for precise searches. See the Filter Guide for more details
  • Pagination: Use page[cursor] parameter and check meta.scroll_id in responses for large result sets.
  • Pipeline & Stage Management: Always retrieve available pipelines/stages via GET /pipelines before assigning contacts.
  • Tag Sets: Tags belong to Tag Sets - always specify both tagSetUID and tagID when working with tags.

1. Universal Lead Upsert Service​

Why it's valuable

Every form, funnel, or checkout can hit a single endpoint you own, and you handle whether to create or update the contact in GroupTrack.

Endpoints used

GET /contacts → POST /contacts or PATCH /contacts/{GTID}

Flow

  1. Your app receives an email/ID from any front-end form.
  2. GET /contacts?filter[emailAddress]=… to check if they already exist.
  3. If no match → POST /contacts with name, email, and initial pipeline placement.
  4. If match → PATCH /contacts/{GTID} to update contact info and tags.

2. Funnel → Pipeline Auto-Enroller​

Why it's valuable

Instantly move leads from opt-in to a structured sales journey without manual pipeline updates.

Endpoints used

POST /contacts → POST /contacts/{GTID}/pipelines → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags

Flow

  1. When someone opts in, POST /contacts with their basic info.
  2. Add them to your chosen pipeline via POST /contacts/{GTID}/pipelines with the pipelineUID.
  3. Attach tags like src_funnel_x, funnel_optin_complete using POST /contacts/{GTID}/tagsets/{tagSetUID}/tags.
  4. You now have a clear, trackable entry point for that lead's whole journey.

3. DM Keyword → Stage & Task Automation​

Why it's valuable

Turn "I'm ready" in a DM into a real, trackable sales action for your team.

Endpoints used

Your DM webhook → GET /contacts → PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage → POST /tasks → POST /activities

Flow

  1. Your DM listener/webhook receives a message containing a trigger keyword (e.g., "ready", "book").
  2. Match by email via GET /contacts?filter[emailAddress]=….
  3. Move them to a hot stage using PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage with the new stageUID.
  4. POST /tasks to assign "Book a call with this lead in 24 hours" to a rep.
  5. POST /activities with type "Message Sent" and a note summarizing the trigger message for context.

4. Challenge / Event Registration Engine​

Why it's valuable

Orchestrate challenge participants or live event registrants as a real pipeline instead of a spreadsheet.

Endpoints used

POST /contacts → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags → POST /contacts/{GTID}/pipelines → POST /tasks

Flow

  1. When someone registers for a challenge, POST /contacts.
  2. Tag them with challenge_may, challenge_registered via POST /contacts/{GTID}/tagsets/{tagSetUID}/tags.
  3. Put them into a "Challenge" pipeline using POST /contacts/{GTID}/pipelines.
  4. The pipeline will automatically place them in the initial stage.
  5. Create Day 1 follow-up tasks for your team using POST /tasks (welcome messages, DM check-ins, etc.).

5. Engagement Scoring via Tag Bands​

Why it's valuable

You get a lightweight "engagement score" without needing custom fields—just clever tags.

Endpoints used

GET /contacts/{GTID} → DELETE /contacts/{GTID}/tagSets/{tagSetUID}/tags/{tagID} → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags → PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage

Flow

  1. Your script watches events (comments, clicks, DMs, attendance).
  2. When something happens, decide their new "band" (e.g., eng_score_1_3, eng_score_4_6, eng_score_7_10).
  3. Remove any existing eng_score_* tags using DELETE /contacts/{GTID}/tagSets/{tagSetUID}/tags/{tagID}.
  4. Add the new score tag using POST /contacts/{GTID}/tagsets/{tagSetUID}/tags.
  5. If they hit eng_score_7_10, optionally move them into a Hot Lead stage with PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage.

6. Stuck Lead / Rescue Bot​

Why it's valuable

Automatically find people who've stalled out in the journey and re-activate them.

Endpoints used

GET /contacts (with filters) → GET /tasks → POST /tasks → POST /activities → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags

Flow

  1. On a schedule, GET /contacts?filter[stageUID]=… to get all contacts in a specific stage (e.g., Demo Booked).
  2. GET /tasks?GTID=…&taskStatus=completed to check their last completed task timestamp.
  3. If no activity for X days →

7. Daily SDR / Closer Queue Builder​

Why it's valuable

Your reps log in each day with a clean, prioritized list of who to contact next.

Endpoints used

GET /pipelines → GET /contacts (with filters) → GET /tasks → POST /tasks → PATCH /tasks/{taskUID}

Flow

  1. Nightly job:
  2. For each contact without open tasks:
    • POST /tasks for your SDR team (e.g., "Call within 24 hours").
  3. As reps work the tasks, they update them with PATCH /tasks/{taskUID}.

8. Launch / Promotion Result Tracker​

Why it's valuable

Tie launch actions to a specific tag and pipeline so you can see exactly how a promo performed.

Endpoints used

POST /contacts/{GTID}/tagsets/{tagSetUID}/tags → PATCH /contacts/{GTID} → PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage → POST /activities

Flow

  1. During a launch, tag all participants with POST /contacts/{GTID}/tagsets/{tagSetUID}/tags: promo_october, launch_webinar_attendee, etc.
  2. When they purchase, move them from Launch: Warm → Launch: Customer stage using PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage.
  3. Add an activity when a sale happens using POST /activities, including which offer they bought.
  4. Afterward, filter reports by GET /contacts?filter[tagID]=… to see conversions.

9. Conversation Summarizer & Context Helper​

Why it's valuable

Give your team "at-a-glance" conversation context instead of reading long histories.

Endpoints used

GET /activities → AI in your system → POST /activities

Flow

  1. Pull recent activities via GET /activities?GTID=…&type=Message Sent.
  2. Send the activity notes to your summarizer (outside GroupTrack).
  3. POST /activities back to the contact with a summary note: SUMMARY: Asked about payment plan; hesitant about timing; agreed to follow up next Tuesday.
  4. Reps can quickly scan the latest summary activities before reaching out.

10. Next Best Action (NBA) Tagger​

Why it's valuable

Tell reps exactly what to do next, based on all the data GroupTrack already has.

Endpoints used

GET /contacts/{GTID} → GET /activities → AI in your system → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags → POST /activities

Flow

  1. Your job fetches each contact's stage, tags, and recent activities using GET /contacts/{GTID} and GET /activities.
  2. AI/logic decides the next move ("Send case study," "Offer downsell," "Invite to challenge").
  3. Add a tag like nba_send_case_study or nba_invite_to_challenge using POST /contacts/{GTID}/tagsets/{tagSetUID}/tags.
  4. Add an activity via POST /activities: NBA: Send case study email before Friday.
  5. Reps filter contacts by GET /contacts?filter[tagID]=… to work the right contacts with the right actions.

11. LMS / Course Progress Sync via Tags & Stages​

Why it's valuable

Bridge your course platform and GroupTrack so education progress becomes a sales signal.

Endpoints used

GET /contacts → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags → PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage

Flow

  1. When a student completes a module in your LMS, call your integration.
  2. Look up the matching contact in GroupTrack via GET /contacts?filter[emailAddress]=….
  3. Tag them with course_module_1_done, course_module_2_done, etc. using POST /contacts/{GTID}/tagsets/{tagSetUID}/tags.
  4. Move stages as they progress (e.g., Student: New → Student: Active → Student: Graduate) using PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage.
  5. At graduation, reps can see who's primed for the next offer.

12. Stripe / Billing Sync for Customers & Churn​

Why it's valuable

Keep your customer and revenue lifecycle reflected directly inside GroupTrack.

Endpoints used

POST /contacts or PATCH /contacts/{GTID} → PATCH /contacts/{GTID}/pipelines/{pipelineUID}/stage → POST /activities → POST /tasks → POST /contacts/{GTID}/tagsets/{tagSetUID}/tags

Flow

  1. On successful payment:
  2. On failed payments or cancellations:
    • Move them to At-Risk or Cancelled stage.
    • Tag with churned, payment_failed.
    • POST /tasks for your retention team ("Reach out within 48 hours").

13. Daily Leadership Snapshot Bot​

Why it's valuable

Gives the founder/leadership a quick pulse on what's happening in the business without logging into five tools.

Endpoints used

GET /pipelines → GET /contacts → GET /tasks → GET /tagSets

Flow

  1. Once per day, collect:
  2. Format that into a simple summary (outside GroupTrack).
  3. Send to Slack/email for leadership as a KPI digest.

14. Agency Multi-Client Dashboard via Tags & Pipelines​

Why it's valuable

If you're an agency, you can see how each client's GroupTrack instance is performing from one place.

Endpoints used

Per client: GET /contacts, GET /pipelines, GET /tagSets, GET /tasks

Flow

  1. Your backend authenticates to each client's GroupTrack separately.
  2. On a schedule, pull:
  3. Normalize and display in your own dashboard UI.
  4. Use this for reporting, retainers, and "we're watching your numbers" value-add.

Additional Resources​