Answers.Body: <p>Yes, if you have access to your database, otherwise I don't think so.</p>
  
  <p>You can edit your database. Look for the table called civicrm_option_value and search for WHERE <code>label</code> LIKE 'Scheduled' and WHERE <code>label</code> LIKE 'Completed' and change the values of is_default to 1 or NULL</p>
  
  <p>Here are the exact commands you can run:</p>
  
  <pre><code>UPDATE civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id SET cov.is_default = NULL WHERE cov.name = 'Scheduled' AND cog.name = 'activity_status';
  UPDATE civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id SET cov.is_default = 1 WHERE cov.name = 'Completed' AND cog.name = 'activity_status';
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-09-28T16:00:08.350Z
Answers.LastActivityDate: 2017-09-29T04:27:18.153Z
Answers.LastEditDate: 2017-09-29T04:27:18.153Z
Answers.UserDisplayName: Slingshot Design
Answers.Body: <p>Yes, sorta!  If you don't want to operate on your database directly you can configure some rules to make it work.  Instead of actually changing what the default status is, you create a rule to set the status according to your wishes.</p>
  
  <p>Use the CiviRules extension: <a href="https://civicrm.org/extensions/civirules" rel="nofollow noreferrer">https://civicrm.org/extensions/civirules</a>.</p>
  
  <p>Create a new rule and for the <em>Trigger</em> select "Activity is added".  Add any <em>Conditions</em> you want.  And give this rule the <em>Action</em> "Update activity status" which can then be whatever you want.</p>
  
  <p>With that rule in place any time you create an activity its status will get overridden to be whatever you configured it to be.</p>
  
  <p>If you don't want the default status to be overridden all the time but only some of the time, then you can add conditions to that rule to specify when the status should be set.  If you wanted you could make various rules to automatically set the status differently in various situations.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-08-28T22:01:11.513Z
Answers.LastActivityDate: 2018-08-28T22:01:11.513Z
Answers.UserDisplayName: alec
Answers.Body: <p>I wrote a small extension that makes it possible to change the default activity status in the database, without having to do a change directly in MySQL. Admittedly, it's not really simpler than doing it directly in SQL, but I plan on making it available directly from the CiviCRM &quot;Manage Extensions&quot; screen.</p>
  <p>It can be downloaded from CiviCRM's extension directory: <a href="https://civicrm.org/extensions/activity-status" rel="nofollow noreferrer">activitystatus</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-05-09T13:48:05.733Z
Answers.LastActivityDate: 2022-03-02T20:46:56.227Z
Answers.LastEditDate: 2022-03-02T20:46:56.227Z
Answers.UserDisplayName: bgm
Answers.Body: <p>Here's another way to do it using api explorer. Just replace &quot;yoursite&quot; with your site, and this link will take you to the explorer with the necessary fields all filled in. Just click execute. It's smart enough it will at the same time remove default from the old status.</p>
  <p><code>https://yoursite/civicrm/api4#/explorer/OptionValue/update?where=%5B%5B%22name%22,%22%3D%22,%22Completed%22%5D,%5B%22option_group_id:name%22,%22%3D%22,%22activity_status%22%5D%5D&amp;values=%5B%5B%22is_default%22,%22true%22%5D%5D</code></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-01-25T11:25:41.867Z
Answers.Text: Fiddly but fast and effective!
Answers.UserDisplayName: artfulrobot
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-03-17T18:26:20.180Z
Answers.LastActivityDate: 2023-03-17T18:26:20.180Z
Answers.UserDisplayName: Demerit
Answers.Body: <p>I modified in my custom templates library CRM/Activity/Form/Activity.tpl, adding a small jQuery script at the bottom of the file. </p>
  
  <p>It looks like so: </p>
  
  <pre><code>{literal}
  &lt;script&gt;
  CRM.$(function($) {
       $('select#activity_type_id').change(function() {
           $('tr.crm-activity-form-block-status_id').hide();   // hide status ID
           $('#status_id').val('2');   // value from status ID selector
       }
  }
  &lt;/script&gt;
  {/literal}
  </code></pre>
  
  <p>It hides the selector after changing Activity Type, and sets the status value to 'Completed'.</p>
  
  <p>Hope, helps. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-05-11T19:54:04.533Z
Answers.LastActivityDate: 2020-05-11T19:54:04.533Z
Answers.UserDisplayName: Pál Rudan
Body: <p>Can you change your default 'Activity Status' for adding a new activity? We use completed far more than scheduled...</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-09-28T14:21:36.620Z
Comments.Text: See https://civicrm.stackexchange.com/questions/15074/how-to-make-status-always-completed-for-activities-added-to-a-case It says civicase but it's for activities in general.
Comments.UserDisplayName: Demerit
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-04T12:15:53.137Z
Comments.Text: Another related question: https://civicrm.stackexchange.com/q/15685
Comments.UserDisplayName: Andrei
Tags: <activities><default-settings>
Title: Can you change your default 'Activity Status' for adding a new activity?
ThreadText: # Can you change your default 'Activity Status' for adding a new activity?
  
  (Asked by: username_0 on 2017-09-28)
  
  Can you change your default 'Activity Status' for adding a new activity? We use completed far more than scheduled...
  
  **Tags:** activities, default-settings
  
  > **Comments:**
  > **username_1**: See https://civicrm.stackexchange.com/questions/15074/how-to-make-status-always-completed-for-activities-added-to-a-case It says civicase but it's for activities in general.  
  > **username_2**: Another related question: https://civicrm.stackexchange.com/q/15685  
  
  ---
  
  ## 5 answers
  
  ### Answer by username_3 on 2017-09-28. Score: 4
  
  Yes, if you have access to your database, otherwise I don't think so.
  
  You can edit your database. Look for the table called civicrm\_option\_value and search for WHERE `label` LIKE 'Scheduled' and WHERE `label` LIKE 'Completed' and change the values of is\_default to 1 or NULL
  
  Here are the exact commands you can run:
  
  ```
  UPDATE civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id SET cov.is_default = NULL WHERE cov.name = 'Scheduled' AND cog.name = 'activity_status';
  UPDATE civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id SET cov.is_default = 1 WHERE cov.name = 'Completed' AND cog.name = 'activity_status';
  
  ```
  
  
  ---
  
  ### Answer by username_4 on 2018-08-28. Score: 2
  
  Yes, sorta! If you don't want to operate on your database directly you can configure some rules to make it work. Instead of actually changing what the default status is, you create a rule to set the status according to your wishes.
  
  Use the CiviRules extension: <https://civicrm.org/extensions/civirules>.
  
  Create a new rule and for the *Trigger* select "Activity is added". Add any *Conditions* you want. And give this rule the *Action* "Update activity status" which can then be whatever you want.
  
  With that rule in place any time you create an activity its status will get overridden to be whatever you configured it to be.
  
  If you don't want the default status to be overridden all the time but only some of the time, then you can add conditions to that rule to specify when the status should be set. If you wanted you could make various rules to automatically set the status differently in various situations.
  
  
  ---
  
  ### Answer by username_5 on 2020-05-09. Score: 2
  
  I wrote a small extension that makes it possible to change the default activity status in the database, without having to do a change directly in MySQL. Admittedly, it's not really simpler than doing it directly in SQL, but I plan on making it available directly from the CiviCRM "Manage Extensions" screen.
  
  It can be downloaded from CiviCRM's extension directory: [activitystatus](https://civicrm.org/extensions/activity-status).
  
  
  ---
  
  ### Answer by username_1 on 2023-03-17. Score: 2
  
  Here's another way to do it using api explorer. Just replace "yoursite" with your site, and this link will take you to the explorer with the necessary fields all filled in. Just click execute. It's smart enough it will at the same time remove default from the old status.
  
  `https://yoursite/civicrm/api4#/explorer/OptionValue/update?where=%5B%5B%22name%22,%22%3D%22,%22Completed%22%5D,%5B%22option_group_id:name%22,%22%3D%22,%22activity_status%22%5D%5D&values=%5B%5B%22is_default%22,%22true%22%5D%5D`
  
  > **Comments:**
  > **username_6**: Fiddly but fast and effective!  
  
  ---
  
  ### Answer by username_7 on 2020-05-11. Score: 0
  
  I modified in my custom templates library CRM/Activity/Form/Activity.tpl, adding a small jQuery script at the bottom of the file.
  
  It looks like so:
  
  ```
  {literal}
  <script>
  CRM.$(function($) {
       $('select#activity_type_id').change(function() {
           $('tr.crm-activity-form-block-status_id').hide();   // hide status ID
           $('#status_id').val('2');   // value from status ID selector
       }
  }
  </script>
  {/literal}
  
  ```
  
  It hides the selector after changing Activity Type, and sets the status value to 'Completed'.
  
  Hope, helps.
  
  
  ---
  
  