{"query":"Go SDK Quickstart","corpusVersion":"local","generatedAt":"2026-11-02T06:32:23.480Z","results":[{"blockId":"sdks.go#go-sdk-quickstart","pageId":"sdks.go","title":"Go SDK Quickstart","pageTitle":"Go SDK Quickstart","url":"https://teammately.ai/docs/sdks/go.md","humanUrl":"https://teammately.ai/docs/sdks/go#go-sdk-quickstart","markdownUrl":"https://teammately.ai/docs/sdks/go.md","sectionId":"go-sdk-quickstart","kind":"quickstart","productArea":"developer_tools","score":2654.462738625221,"reasons":["search_match","exact_match","title_match","display_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"# Go SDK Quickstart"},{"blockId":"sdks.go#prerequisites-and-installation","pageId":"sdks.go","title":"Prerequisites and installation","pageTitle":"Go SDK Quickstart","url":"https://teammately.ai/docs/sdks/go.md","humanUrl":"https://teammately.ai/docs/sdks/go#prerequisites-and-installation","markdownUrl":"https://teammately.ai/docs/sdks/go.md","sectionId":"prerequisites-and-installation","kind":"quickstart","productArea":"developer_tools","score":1030.829364735018,"reasons":["search_match","exact_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Prerequisites and installation\n\nUse Go 1.25.1+ and a `teammately-go` source checkout. In an application without an existing workspace:\n\n```sh\ngo work init . /path/to/teammately-go\n```\n\nFor an existing workspace, use `go work use /path/to/teammately-go`. Keep machine-local workspace configuration out of published module dependencies. The SDK module is `github.com/teammately/teammately-go`."},{"blockId":"sdks.go#related-reference-pages","pageId":"sdks.go","title":"Related reference pages","pageTitle":"Go SDK Quickstart","url":"https://teammately.ai/docs/sdks/go.md","humanUrl":"https://teammately.ai/docs/sdks/go#related-reference-pages","markdownUrl":"https://teammately.ai/docs/sdks/go.md","sectionId":"related-reference-pages","kind":"quickstart","productArea":"developer_tools","score":930.6769528996954,"reasons":["search_match","exact_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Related reference pages\n\n{% related-card-grid %}\n- [Fieldloop API](/docs/public-api/fieldloop)\n- [Delivery and recovery](/docs/sdks/delivery-and-recovery)\n- [Fieldloop troubleshooting](/docs/troubleshooting/fieldloop)\n{% /related-card-grid %}"},{"blockId":"sdks.go#example-context-aware-batch-submission","pageId":"sdks.go","title":"Example: Context-aware batch submission","pageTitle":"Go SDK Quickstart","url":"https://teammately.ai/docs/sdks/go.md","humanUrl":"https://teammately.ai/docs/sdks/go#example-context-aware-batch-submission","markdownUrl":"https://teammately.ai/docs/sdks/go.md","sectionId":"example-context-aware-batch-submission","kind":"quickstart","productArea":"developer_tools","score":770.307528297293,"reasons":["search_match","exact_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"### Example: Context-aware batch submission\n\n```go\npackage main\n\nimport (\n    \"context\"\n    \"encoding/json\"\n    \"fmt\"\n    \"log\"\n    \"os\"\n\n    teammately \"github.com/teammately/teammately-go\"\n    \"github.com/teammately/teammately-go/fieldloop\"\n)\n\nfunc main() {\n    if err := capture(context.Background()); err != nil { log.Fatal(err) }\n}\n\nfunc capture(ctx context.Context) error {\n    client, err := teammately.New(teammately.Config{\n        APIKey: os.Getenv(\"TEAMMATELY_API_KEY\"),\n    })\n    if err != nil { return err }\n    scope := fieldloop.Scope{\n        Organization: os.Getenv(\"TEAMMATELY_ORGANIZATION\"),\n        Project: os.Getenv(\"TEAMMATELY_PROJECT\"),\n        Source: os.Getenv(\"TEAMMATELY_FIELDLOOP_SOURCE\"),\n    }\n    batch, err := fieldloop.PrepareBatch([]fieldloop.Log{{\n        SourceEventID: \"support-ticket-1042:reply\",\n        OccurredAt: \"2026-10-31T09:30:00Z\",\n        Input: json.RawMessage(`{\"question\":\"Has my bicycle shipped?\"}`),\n        Output: json.RawMessage(`{\"reply\":\"Your bicycle is being packed.\"}`),\n    }}, \"support-ticket-1042:batch-1\")\n    if err != nil { return err }\n    receipt, err := client.Fieldloop.SubmitPrepared(\n        ctx, scope, batch, teammately.RetryPolicy{})\n    if err != nil { return err }\n    processed, err := client.Fieldloop.WaitReceipt(\n        ctx, scope, receipt.BatchID, fieldloop.PollOptions{})\n    if err != nil { return err }\n    fmt.Println(processed.AcceptedCount, processed.DuplicateCount,\n        processed.ConflictCount, processed.RejectedCount)\n    return nil\n}\n```\n\nPass the application's context and optional deadline in real services. Teammately supplies destination IDs; your application owns event/batch keys. `json.RawMessage` preserves captured JSON numbers."},{"blockId":"sdks.go#continuous-ingestion-and-evaluations","pageId":"sdks.go","title":"Continuous ingestion and evaluations","pageTitle":"Go SDK Quickstart","url":"https://teammately.ai/docs/sdks/go.md","humanUrl":"https://teammately.ai/docs/sdks/go#continuous-ingestion-and-evaluations","markdownUrl":"https://teammately.ai/docs/sdks/go.md","sectionId":"continuous-ingestion-and-evaluations","kind":"quickstart","productArea":"developer_tools","score":756.0053337139195,"reasons":["search_match","exact_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Continuous ingestion and evaluations\n\nUse `fieldloop.NewIngestor(ctx, client.Fieldloop, scope, options)` for continuous ingestion. `Add` acknowledges memory; `Close` drains. Retain source records until admission is known. [Delivery and Recovery](/docs/sdks/delivery-and-recovery) explains pending batches and processing receipts.\n\n`client.Evaluations` provides scoped context, criteria, results, comparisons, external submissions and managed API operations through `evaluations.Scope`. It does not package source or run an evaluator. Use the [CLI](/docs/cli) for local-file workflows."},{"blockId":"sdks.go#submit-and-inspect-a-batch","pageId":"sdks.go","title":"Submit and inspect a batch","pageTitle":"Go SDK Quickstart","url":"https://teammately.ai/docs/sdks/go.md","humanUrl":"https://teammately.ai/docs/sdks/go#submit-and-inspect-a-batch","markdownUrl":"https://teammately.ai/docs/sdks/go.md","sectionId":"submit-and-inspect-a-batch","kind":"quickstart","productArea":"developer_tools","score":742.1734085059833,"reasons":["search_match","exact_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Submit and inspect a batch\n\nInject `TEAMMATELY_API_KEY` through the host secret mechanism and configure the three destination identifiers below. This complete program sends one fictional record:"},{"blockId":"sdks.python#python-sdk-quickstart","pageId":"sdks.python","title":"Python SDK Quickstart","pageTitle":"Python SDK Quickstart","url":"https://teammately.ai/docs/sdks/python.md","humanUrl":"https://teammately.ai/docs/sdks/python#python-sdk-quickstart","markdownUrl":"https://teammately.ai/docs/sdks/python.md","sectionId":"python-sdk-quickstart","kind":"quickstart","productArea":"developer_tools","score":736.5701773107492,"reasons":["search_match","exact_match","term_match","prefix_or_fuzzy_match"],"markdown":"# Python SDK Quickstart"},{"blockId":"sdks.typescript#javascript-and-typescript-sdk-quickstart","pageId":"sdks.typescript","title":"JavaScript and TypeScript SDK Quickstart","pageTitle":"JavaScript and TypeScript SDK Quickstart","url":"https://teammately.ai/docs/sdks/typescript.md","humanUrl":"https://teammately.ai/docs/sdks/typescript#javascript-and-typescript-sdk-quickstart","markdownUrl":"https://teammately.ai/docs/sdks/typescript.md","sectionId":"javascript-and-typescript-sdk-quickstart","kind":"quickstart","productArea":"developer_tools","score":730.9952594062502,"reasons":["search_match","exact_match","term_match","prefix_or_fuzzy_match"],"markdown":"# JavaScript and TypeScript SDK Quickstart"}]}