> For a complete page index, fetch https://developer.close.com/llms.txt # Create a new Custom Activity instance POST https://api.close.com/api/v1/activity/custom/ Content-Type: application/json Custom Activity instances will be created by default with the 'published' status. All required fields will be validated in this status. To create an activity without setting all required fields, you can use the "draft" status. A Custom Activity can be pinned or unpinned by setting the `pinned` field to `true` or `false` when creating or updating a Custom Activity. Custom Fields appear in the format: `custom.{custom_field_id}`. See [Custom Fields](https://developer.close.com/api/resources/custom-fields/custom-fields-activity). Reference: https://developer.close.com/api/resources/activities/custom-activities/create ## Authentication - `Authorization` header (basic auth, required) — Use your API key as the username and leave the password empty. - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Body (application/json) This endpoint expects a CreateCustomActivity. - `custom_activity_type_id` (string, required) - `lead_id` (string, required) - `activity_at` (datetime, optional, nullable) - `contact_id` (string, optional, nullable) - `created_by` (string, optional, nullable) - `date_created` (datetime, optional, nullable) - `organization_id` (string, optional, nullable) - `pinned` (boolean, optional, nullable) - `status` (enum, optional) - Allowed values: `draft`, `published` - `user_id` (string, optional, nullable) ## Response ### 200 Successful response - `_type` (string, required) - `activity_at` (datetime, required, nullable) - `contact_id` (string, required, nullable) - `created_by` (string, required, nullable) - `custom_activity_type_id` (string, required) - `date_created` (datetime, required) - `date_updated` (datetime, required) - `id` (string, required) - `last_published_at` (datetime, required, nullable) - `lead_id` (string, required, nullable) - `mentions` (list of string, required) - `mentions_updated_at` (datetime, required, nullable) - `organization_id` (string, required) - `pinned` (boolean, required) - `pinned_at` (datetime, required, nullable) - `source` (enum, required, nullable) - Allowed values: `ui`, `api`, `import`, `clipper`, `email`, `suggestion`, `segment-integration`, `customerio-integration`, `calendly-integration`, `ai`, `whatsapp`, `webform` - `status` (enum, required) - Allowed values: `draft`, `published` - `updated_by` (string, required, nullable) - `user_id` (string, required, nullable) - `users` (list of string, required) - `comment_summary` (CommentSummary, optional, nullable) - `created_by_name` (string, optional, nullable) - `updated_by_name` (string, optional, nullable) - `user_name` (string, optional, nullable) ## Errors ### 400 Bad Request Error Bad request - `any` ### 401 Unauthorized Error Unauthorized - `any` ### 404 Not Found Error Not found - `any` ## Types ### CommentSummary - `comment_count` (integer, required) - `thread_id` (string, required) ## Examples **Request** ```json { "custom_activity_type_id": "actitype_1h5m6uHM9BZOpwVhyRJb4Y", "lead_id": "lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP", "pinned": true, "custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S": "thedarknight@close.com", "custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g": "Yes" } ``` **Response** ```json { "_type": "CustomActivity", "activity_at": "2020-08-04T16:45:35.367000+00:00", "contact_id": null, "created_by": "user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk", "custom_activity_type_id": "actitype_1h5m6uHM9BZOpwVhyRJb4Y", "date_created": "2020-08-04T16:45:35.367000+00:00", "date_updated": "2020-08-04T17:37:56.439000+00:00", "id": "acti_5J7mimiIKB1tQ3gVduP0c4UhXbNj5ptMLteAWRJu7Sf", "last_published_at": "2020-08-04T16:45:35.367000+00:00", "lead_id": "lead_hwnL36A2iEMSLIlmGhsdrcmOJzTUzqEHwr66wrA1K2T", "mentions": [], "mentions_updated_at": null, "organization_id": "orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH", "pinned": true, "pinned_at": "2020-08-04T17:37:56.439000+00:00", "source": "ui", "status": "published", "updated_by": "user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk", "user_id": "user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk", "users": [], "created_by_name": "Bruce Wayne", "updated_by_name": "Bruce Wayne", "user_name": "Bruce Wayne", "custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S": "thedarknight@close.com", "custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g": "Yes" } ``` **SDK Code** ```python activities.custom_activities_create_example import requests url = "https://api.close.com/api/v1/activity/custom/" payload = { "custom_activity_type_id": "actitype_1h5m6uHM9BZOpwVhyRJb4Y", "lead_id": "lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP", "pinned": True, "custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S": "thedarknight@close.com", "custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g": "Yes" } headers = { "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers, auth=("", "")) print(response.json()) ``` ```javascript activities.custom_activities_create_example const url = 'https://api.close.com/api/v1/activity/custom/'; const credentials = btoa(":"); const options = { method: 'POST', headers: {Authorization: `Basic ${credentials}`, 'Content-Type': 'application/json'}, body: '{"custom_activity_type_id":"actitype_1h5m6uHM9BZOpwVhyRJb4Y","lead_id":"lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP","pinned":true,"custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S":"thedarknight@close.com","custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g":"Yes"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go activities.custom_activities_create_example package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.close.com/api/v1/activity/custom/" payload := strings.NewReader("{\n \"custom_activity_type_id\": \"actitype_1h5m6uHM9BZOpwVhyRJb4Y\",\n \"lead_id\": \"lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP\",\n \"pinned\": true,\n \"custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S\": \"thedarknight@close.com\",\n \"custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g\": \"Yes\"\n}") req, _ := http.NewRequest("POST", url, payload) req.SetBasicAuth("", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby activities.custom_activities_create_example require 'uri' require 'net/http' url = URI("https://api.close.com/api/v1/activity/custom/") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request.basic_auth("", "") request["Content-Type"] = 'application/json' request.body = "{\n \"custom_activity_type_id\": \"actitype_1h5m6uHM9BZOpwVhyRJb4Y\",\n \"lead_id\": \"lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP\",\n \"pinned\": true,\n \"custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S\": \"thedarknight@close.com\",\n \"custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g\": \"Yes\"\n}" response = http.request(request) puts response.read_body ``` ```java activities.custom_activities_create_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api.close.com/api/v1/activity/custom/") .basicAuth("", "") .header("Content-Type", "application/json") .body("{\n \"custom_activity_type_id\": \"actitype_1h5m6uHM9BZOpwVhyRJb4Y\",\n \"lead_id\": \"lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP\",\n \"pinned\": true,\n \"custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S\": \"thedarknight@close.com\",\n \"custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g\": \"Yes\"\n}") .asString(); ``` ```php activities.custom_activities_create_example request('POST', 'https://api.close.com/api/v1/activity/custom/', [ 'body' => '{ "custom_activity_type_id": "actitype_1h5m6uHM9BZOpwVhyRJb4Y", "lead_id": "lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP", "pinned": true, "custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S": "thedarknight@close.com", "custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g": "Yes" }', 'headers' => [ 'Content-Type' => 'application/json', ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp activities.custom_activities_create_example using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://api.close.com/api/v1/activity/custom/"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"custom_activity_type_id\": \"actitype_1h5m6uHM9BZOpwVhyRJb4Y\",\n \"lead_id\": \"lead_p9bdo1sTVDvc81drMF1IxJBSHiLFZqaABYRu7ZHuxhP\",\n \"pinned\": true,\n \"custom.cf_UpyNBvr6Rw8UBHh7zRboL3PYhbOVJl3XvwgPm3jg64S\": \"thedarknight@close.com\",\n \"custom.cf_cSh3fWT3rEJ1BFSezme2YAG6bPrZV5wUWKKrW4iN19g\": \"Yes\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ```